Ý tưởng phương pháp cầu phương GAUSS - Công thức cầu phương Gauss là một phương pháp tính gần đúng tích phân xác định được đặttên theo nhà toán học Carl Friedrich Gauss- người phát triển
Ý tưởng phương pháp cầu phương GAUSS
Công thức cầu phương Gauss, do nhà toán học Carl Friedrich Gauss phát triển, là một phương pháp hiệu quả để tính gần đúng tích phân xác định.
- Ở đây ta chỉ xét công thức Gauss-Legendre
- Ý tưởng của phương pháp là xấp xỉ tích phân I bằng một tổng hữu hạn
Ta cần tìm các trọng số B i và các điểm x i tương ứng (gọi là điểm Gauss) sao cho thỏa mãn công thức trên
- Công thức trên luôn đúng với mọi hàm f(x) là đa thức bậc nhỏ hơn 2n
- Ta có thể xác định trước các điểm x i và xét tích phân I=∫ a b f(x)dx trong đoạn [-1;1] nhờ đa thức Legendre:
- Tính chất quan trọng của các đa thức Legendre là nó có n nghiệm thực phân biệt trong đoạn [-1;1] và đối xứng qua gốc tọa độ/trục Oy
B i × f(x i ), nếu chọn x 1 ; x 2 ; ; x n theo thứ tự là các nghiệm của đa thức Legendre P n (x) thì các trọng số B 1 ; B 2 : ; B n là nghiệm của hệ phương trình:
- Nếu gặp tích phân I=∫ a b f(x)dx chúng ta đưa về tích phân trên đoạn [-1;1] bằng phép biến đổi x=b−a
Thuật toán phương pháp cầu phương GAUSS
- Nhập các dữ liệu cần thiết (hàm f(x), cận trên, cận dưới, số điểm Gauss)
- Khai báo vị trí x và trọng số B dưới dạng ma trận, giải hệ tìm B
- for i=1:n -> xi là cột i của ma trận x
Bi là cột i của ma trận B
2-Xuất kết quả phép tính
BÀI TẬP
BÀI TẬP PROJECT 2
Giả sử chúng ta có một bể hình trụ ngang với bán kính r, độ sâu chất lỏng h và chiều dài L Thể tích của chất lỏng trong bể được tính bằng công thức V = πr²h Với V = 8 m³, L = 5 m và r = 2 m, chúng ta sẽ xác định h bằng phương pháp chia đôi và phương pháp dây cung với sai số nhỏ hơn Để tìm h, chúng ta có thể áp dụng phương pháp điểm cố định, biến đổi phương trình thành dạng x = g(x), với g(x) là hàm phù hợp để phương pháp này khả thi Cuối cùng, sử dụng phương pháp Newton-Raphson với h0 thích hợp, chúng ta sẽ xác định h với sai số nhỏ hơn.
- Độ sâu của chất lỏng: h
Các bước để dẫn xuất thể tích:
- Để tìm θ, xem xét tam giác vuông được tạo thành bởi bán kính r , khoảng cách ( r - h ) (từ tâm đến mức chất lỏng), và khoảng cách ngang
2 Diện tích của phần hình tròn:
- Diện tích A của phần hình tròn có thể được tính bằng công thức:
- Ở đây, θ là góc ở tâm, chính là θ=arccos(r−h r )
- Thay θ=arccos(r−h r ) vào công thức diện tích của phần hình tròn:
- Đơn giản hóa biểu thức bên trong căn bậc hai:
4 Biểu thức diện tích cuối cùng:
A=r 2 [ arccos ( r − r h ) −( r − r h ) √ 2rh r − h 2 ] ¿r 2 [ arccos ( r − r h ) − (r− h) √ r 2rh−h 2 2 ] ¿r 2 arccos( r− r h ) −(r−h) √ 2 rh−h 2
5 Thể tích của chất lỏng:
- Thể tích V được tính bằng cách nhân diện tích mặt cắt ngang A với chiều dài L của hình trụ:
- Thay biểu thức của A vào:
=> V=[ r 2 arccos ( r−h r ) −( r −h ) √ 2 rh−h 2 ] L b) Với V=8( cm 3 ) , L=5(cm), r=2(cm)
Thế vào công thức ở câu (a) ta có:
Xét f( h )trên khoảng [0.74 ; 0.75] (vì h ≤ r) là khoảng cách ly nghiệm của hàm f(0.74)=−0,0000118180 Để sai số
Kết luận h =0.740015218 là nghiệm của phương trình với sai số −1.5848 × 10 −9 c) Dựa vào đề bài, ta cần tìm một hàm h=f (h)
L+(r−h)√ 2 rh − h 2 = r 2 arccos ( r − r h ) V L + ( r− h r ) 2 √ 2 rh− h 2 = arccos ( r − r h ) cos( V L + ( r − h r ) 2 √ 2 rh − h 2 ) = r− r h h=r−r × cos ( V L + ( r − h r ) 2 √ 2 rh − h 2 )
(0.74;0.75) là khoảng ly nghiệm chứng minh từ câu (b) suy ra ta chọn h 0=0.75
Thay số liệu vào hàm trên ta được: h=2−2×cos( 1.6 + ( 2 −h 4 ) √ 4 h−h 2 ) n F(hn)
h 9 là điểm bất động, là độ sâu của chất lỏng
Công thức sai số hậu nghiệm câu phương pháp lặp: | h n −h d | ≤ 1 − k k | h n −h n−1 |
| h n −h d | ≤ 2.7777× 10 −11 d) Ta có f '(h) luôn dương trên (0.74;0.75) f '' (h)>0=¿f ' ' (0.75)f(0.75)>0
Suy ra h = 0.75 là điểm Fourier
Suy ra h=0.7400152181 là điểm biến động
Công thức sai số tổng quát | h n −h d | ≤ | f (h n ) | m
Thế vào công thức sai số ta được | h 5 −h d | ≤ 4.4061× 10 −11
Để giải quyết vấn đề 2, trước tiên, chúng ta cần viết hàm phân tích ma trận A thành A=LU bằng phương pháp Doolittle mà không sử dụng lệnh có sẵn trong Matlab hay Python Sau khi hoàn thành hàm này, chúng ta sẽ áp dụng nó để giải quyết bài toán tiếp theo liên quan đến sản xuất ba loại linh kiện điện Kỹ sư điện cần theo dõi số lượng ba loại vật liệu: kim loại, nhựa và cao su, cần thiết cho quá trình sản xuất mỗi thành phần.
Với tổng khối lượng 3,89 kg kim loại, 0,095 kg nhựa và 0,282 kg cao su mỗi ngày, chúng ta có thể tính toán số linh kiện sản xuất được hàng ngày Các kết quả cần hiển thị bao gồm: Ma trận L, giải pháp của hệ thống Ly = B, Ma trận U, và nghiệm của hệ Ux = y.
Giải a)Đoạn code Matlab của bài toán: b)
Để ước lượng diện tích bề mặt và thể tích của quả bóng, chúng ta cần biểu diễn công thức dưới dạng tích phân theo các biến d, z và L Cụ thể, diện tích bề mặt S và thể tích V có thể được tính bằng các tích phân phù hợp Tiếp theo, chúng ta sẽ áp dụng phương pháp hình thang hợp và phương pháp Simpson hợp để tính toán chính xác diện tích bề mặt và thể tích của quả bóng dựa trên các giá trị đường kính được đo tại các điểm z khác nhau.
Giải: a)Ta có diện tích bề mặt tích phân từ 0 đến L là :
Theo hình vẽ ta có V = π r 2 dz = r d 2
4 → thể tích theo tích phân từ 0 đến L là :
4 dz b) Ta có bảng : z(in) 0 1,5 3 4,5 6 d(in) 0 2,9 4,8 5,8 6,2
LẬP TRÌNH GIẢI MÃ ĐỀ FINAL 183
Nhà máy lọc dầu (A) và kho trữ dầu (B) được đặt ở hai bên bờ sông Để xây dựng ống dẫn dầu từ A đến B, ống sẽ được lắp đặt trên mặt đất từ A đến trạm P (nằm giữa C và D), sau đó kéo ống dưới lòng sông từ P đến B Chi phí xây ống trên mặt đất là 2M × 1000$/1km, trong khi chi phí dưới lòng sông là 2(M + 1) × 1000$/1km Với AC = 1km, CD = (M + 5)km và chiều rộng sông là 2km, ta đặt x = CP Mục tiêu là xác định vị trí của trạm P sao cho chi phí xây ống là tối thiểu, sử dụng phương pháp chia đôi với 6 lần lặp và đánh giá sai số tuyệt đối của kết quả x.
Chi phí xây dựng ống nước trên mặt đất là 5000$/1km
Chi phí xây dựng ống nước dưới lòng sông là 7000$/1km
Chiều rộng sông: DB = 2km
Gọi x = CP, dùng định lý Pitago ta có
Gọi F(x) là hàm biểu diễn chi phí xây dựng ống nước:
F(x)=√ x 2 + 1× 5000 + √ 4 + ( 7 ,5 − x ) 2 × 7000 ($) Để chi phí xây dựng thấp nhất thì F( x ) ' =0 và F( x ) ' ' >0 trên khoảng (0 ; 7 , 5)
Dùng phương pháp lặp đơn để giải phương trình F( x ) ' =0
Phương pháp chia đôi ,nghiệm gần đúng x 6 của phương trình là 5,5664 (nghiệm làm tròn theo nguyên tắc)
Hàm F( x ) ' ' >0 tại x=5,5664 ⇒F( x ) ' đạt cực tiểu tại x=5,5664
Sai số phương pháp chia đôi:
256 Sai số tuyệt đối ∆ x 6=0,0586 (Sai số làm tròn theo nguyên tắc)
Vậy với M = 2,5 vị trí đặt trạm P để chi phí xây dựng ống nước là nhỏ nhất là trên đoạn CD cách
C một đoạn x gần bằng 5,5664 km Sai sô tuyệt đối của x là 0,0586 km
CODE clc clear format long syms x n= input('chu so hang don vi la '); m= input('chu so hang chuc la ');
M=(m + 2*n + 12)/10; e(1)= 2*M*1000 ;% chi phi xay dung 1km ong tren bo e(2)= 2*(M+1)*1000;%chi phi xay dung 1km ong duoi nuoc
% su dung Pitago de tim AP va PB
PB = sqrt(2^2+(M+5-x)^2); fx = e(1)*AP+e(2)*PB; % ham chi phi xay dung ong df = diff(fx); % dao ham ham chi phi
N = 6; % so lan lap saiso =(b-a)/(2^(n+1)); for i=1:N+1 x0= (a+b)/2; if subs(df,x,a)*subs(df,x,x0) > 0 a = x0; elseif subs(df,x,b)*subs(df,x,x0) > 0 b = x0; end end
% xuat ra man hinh disp(['Voi gia tri M = ',sprintf('%.1f',M), ':']); disp(['x= ', sprintf('%.4f',x0)]); disp(['Sai so= ', sprintf('%.4f',ceil(saiso*(10^4))/(10^4))]);
Cho hệ { 2 − x 10 1 −M x x 1 x + 1 20 − x 2 x + 2 2 + 12 − x x 3 x =1 3 3 = =M 2 với X ( 0 ) = ( −1 1 2 ) Sử dụng phương pháp lặp Jacobi, tìm vecto lặp thứ hai X ( 2 ) và sai số tiên nghiệm của X ( 2 ) với chuẩn vô cùng.
GIẢI clc clear format long n= input('Chu so hang don vi '); m= input('chu so hang chuc la ');
%Khai bao nhung du kien dau vao
% Nhap kich thuoc cua ma tran A rows_A = input('Nhap so hang cua ma tran A: '); cols_A = input('Nhap so cot cua ma tran A: ');
% Nhap cac gia tri cua ma tran A disp('Nhap cac gia tri cho ma tran A:'); for i = 1:rows_A for j = 1:cols_A mt1 = ['Ắ, num2str(i), ',', num2str(j), '): '];
%Nhap vao cac gia tri cua ma tran B
B= zeros(rows_A, 1); disp('Nhap các gia tri cho ma tran B :'); for i = 1:rows_A for j = 1:1 mt2 = ['B(', num2str(i), ',', num2str(j), '): '];
B(i, j) = input(mt2); end end x0= zeros(rows_A, 1); disp('Nhap cac gia tri cho ma tran x0 :'); for i = 1:rows_A for j = 1:1 mt3 = ['x0(', num2str(i), ',', num2str(j), '): ']; x0(i, j) = input(mt3); end end
N = input('so lan lap la :'); %so lan lap s = length(B);
%them cac thong so cho ma tran L U D for i = 1:s for j = 1:s if i == j
%thiet lap ma tran T C tu cong thuc lap Jacobi
C = (D^-1)*B; x1 = T*x0+C; %tim x1 de tinh sai so tien nghiem saiso = ((norm(T,inf))^N/(1-norm(T,inf)))*norm(x1-x0,inf); %tinh gia tri sai so tien nghiem theo chuan vo cung
Xn = T*x0+C; %cong thuc lap jacobi x0 = Xn; %cap nhat x0 end
Display the message indicating the value of M, formatted to one decimal place Additionally, output the second vector X2, ensuring it is presented with four decimal places Finally, present the absolute error of X2 according to the infinite norm, rounded to four decimal places.
Tìm hàm f(x) = A sin x − B ln x xấp xỉ tốt nhất bảng số trên bằng phương pháp bình phương cực tiểu.
#include using namespace std; int main()
{ cout