đáp án cho các ví dụ của matlab full
BÀI THỰC HÀNH SYMBOLIC MATH. – LẬP TRÌNH – SIMULINK 1. Tính các giới hạn: G 1 = 0 1 1 lim 1 x x x e → − ÷ − ; G 2 = ( ) 0 lim sin x x x → ; G 3 = ( ) ln 0 lim 1 x x x → + ; >> syms x >> G1=limit(1/x-1/(exp(x)-1),x,0) G1 = 1/2 >> syms x >> G2=limit(sin(x),x,0) G2 = 0 >> syms x >> G3=limit((1+x)^log(x),x,0) G3 = 1 2. Tính đạo hàm các hàm số: y 1 = 2 1 os 1c x + ; y 2 = 2 2 2 arcsin 2 2 x a x a x a − + ; >> syms x >> y1=diff(1/cos(sqrt(x^2+1))) y1 = (x*sin((x^2 + 1)^(1/2)))/(cos((x^2 + 1)^(1/2))^2*(x^2 + 1)^(1/2)) >> syms x a >> y2=diff(x/2*sqrt(a^2-x^2)+a^2/2*asin(x/a),x) % dao ham theo x y2 = a/(2*(1 - x^2/a^2)^(1/2)) + (a^2 - x^2)^(1/2)/2 - x^2/(2*(a^2 - x^2)^(1/2)) 3. Tính các tích phân: T 1 = sin 2 1 os2 x dx c x + ∫ ; T 2 = 2 arcsin 2 1 x dx x − ∫ ; >> syms x >> T1=int(sin(2*x)/(1+cos(2*x))) T1 = -log(2*cos(x)^2)/2 >> T2=int(a*sin(2*x)/sqrt(1-x^2)) Warning: Explicit integral could not be found. T2 = int((a*sin(2*x))/(1 - x^2)^(1/2), x) % matlab k tinh duoc nguyen ham 4. Tính các tích phân xác định bằng phương pháp Simpson và bằng lệnh int trong Symbolic Math: T 1 = 2 2 2 a a x a x dx − − ∫ ; T 2 = ( ) 2 2 1 1 sin x dx x − ∫ ; >> syms x a >> T1=int(x^2*sqrt(a^2-x^2),-a,a) T1 = (pi*a^4)/8 % tính bằng phương pháp Simpson >> t2=quad(@(x) sqrt(1-sin(x).^2)./x,1,2) t2 = 0.1836 % Tính bằng lệnh int trong Symbolic Math >> syms x >> T2=int(sqrt(1-sin(x)^2)/x,1,2) Warning: Explicit integral could not be found. T2 = int((1 - sin(x)^2)^(1/2)/x, x = 1 2) 5. Khảo sát sự biến thiên và vẽ đồ thị hàm số: f(x) = 3 2 ln 4 1 x x x x + − ; >> syms x >> f=(x^3*log(x)+4*x)/(x^2-1); >> ezplot(f) >> hold on % vẽ tiệm cận đứng >> x_tcd=solve(x^2-1) x_tcd = -1 1 >> plot([1 1],[-15 25],'r') % xác định cực trị >> x_ctr=double(solve(diff(f))) x_ctr = 2.1501 >> y_ctr=subs(f,x_ctr) y_ctr = 4.4741 >> plot(x_ctr,y_ctr,'r*') % vẽ trục tọa độ thì từ cửa sổ figure Vào insert vào arrow cchcccchccchcccc 6. Tính tổng S = 300 2 1 sin 2 n n n π = ∑ bằng phương pháp lập trình, so sánh kết quả tính toán khi sử dụng cách tính tổng chuỗi trong Symbolic Math. % Phương pháp lập trình >> S=0; >> for i=1:300 S=S+i^2*sin(pi/2^i); end >> S S = 17.8505 % Phương pháp tính tổng chuỗi >> syms n >> s=double(symsum(n^2*sin(pi/2^n),1,300)) s = 17.8505 7. Sử dụng vòng lặp for trong lập trình Matlab để tính tổng: S = 500 1 2 5 6 n n n n= + ∑ so sánh kết quả có được với kết quả tính toán khi sử dụng cách tính tổng chuỗi trong Symbolic Math. % Phương pháp lập trình >> S=0; >> for i=1:500 S=S+((1/3)^i+(5/6)^i); end >> S S = 5.5000 % Phương pháp tính tổng chuỗi >> syms n >> s=double(symsum((1/3)^n+(5/6)^n,1,500)) s = 5.5000 8. Lập trình trong Matlab tìm giá trị nguyên dương lớn nhất của số n mà có tổng: a. S = 1 1 + 2 2 + 3 3 + . + n n < 1.000.000; b. S = e n – 1992.lg(n) ≤ 5; Cau a: >> S=1; >> n=1; >> while S<1e6 n=n+1; S=S+n^n; end >> i=n-1 i = 7 Cau b: >> S=1; >> n=0; >> while S<5 n=n+1; S=S+exp(n)-1992*log10(n); end >> i=n-2 i = 7 10. Lập trình nhập x, n từ bàn phím, rồi tính: T = 1 + x + 2 3 2! 3! ! n x x x n + + + >> x=input('nhap gia tri cua x;x= ') nhap gia tri cua x;x= 3 x = 3 >> n=input('nhap gia tri cua n; n= ') nhap gia tri cua n; n= 5 n = 5 >> T=0; >> for i=0:5 T=T+(3^i)/factorial(i); end >> T T = 18.4000 11. Cho hàm số : f(x) = 2 0.5 0.5 2 0.5 0.5 0.5 0.5 x x x x < − − ≤ ≤ > Vẽ đồ thị hàm f với x trong khoảng -1 ÷ 1 . % Tạo hàm M-file: function y = bai11(x) j=0; y=[]; for i=x j=j+1; if i<-0.5 y(j)=0.5; elseif i<=0.5 y(j)=2*i^2; else y(j)=0.5; end end end % từ cửa sổ lệnh: >> x=[-1:0.1:1]; >> y=bai11(x); >> plot(x,y) 12. Cho hàm số: f(x) = sin / 2 1 / 2 / 2 sin 0.5 x x x x x π π π − < − − ≤ ≤ > Vẽ đồ thị hàm f với x trong khoảng -π ÷ π % Tạo hàm M-file: function y = bai12(x) j=0; y=[]; for i = x j=j+1; if i< -pi/2 y(j)= -sin(i); elseif i<pi/2 y(j) = 1; else y(j) = sin(i); end end end % từ cửa sổ lệnh: >> x=[-pi:pi/4:pi]; >> y=bai12(x); >> plot(x,y) 13. Nhập vào hai số a,b rồi tính: y = 15x 2 + x + 72 với: x = 2 2 3 15,172 a b khi a b khi a b a b khi a b a b + < = − > + % Tạo hàm M - file function x = bai13(a,b) if a<b x=(a+b)/3; elseif a==b x=15.172; else x=(a-b)/(a^2+b^2); end end % Từ cửa sổ lệnh >> a=input('nhap gia tri cua a; a= ') nhap gia tri cua a; a= 6 a = 6 >> b=input('nhap gia tri cua b; b= ') nhap gia tri cua b; b= 8 b = 8 >> x=bai13(a,b) x = 4.6667 >> y=15*x^2+x+72 y = 403.3333 14. Nhập vào ba số x, y, z, tính và đưa kết quả ra màn hình: f = 2 3 ar 0 0 1 ar 1 0 1 ar 1 0 1 15 x y z ctg khi x va z xy x y z ctg khi xy va z xy x y z ctg khi xy va z xy trong cac truong hop con lai + + > < − + + < > − + + > > − % Tạo hàm M –file function f = bai14(x,y,z ) if x>0&z<0 f=z+atan((x+y)/(1-x*y)); elseif (x*y)<1&z>0 f=z^2+atan((x+y)/(1-x*y)); elseif (x*y)>1&z>0 f=z^3+atan((x+y)/(1-x*y)); else f=15; end end % Từ cửa sổ lệnh >> x=input('nhap gia tri cua x; x= ') nhap gia tri cua x; x= 4 x = 4 >> y=input('nhap gia tri cua y; y= ') nhap gia tri cua y; y= 3 y = 3 >> z=input('nhap gia tri cua z; z= ') nhap gia tri cua z; z= 8 z = 8 >> f=bai14(x,y,z) f = 511.4333 15. Giải phương trình vi phân bằng phương pháp mô phỏng Simulink: 2 2 3 os( ) ( ) 5 dy c x y x y dx = − − − 16. Giải hệ phương trình phi tuyến bằng phương pháp mô phỏng Simulink: 1 2 2 1 1 2 1 2 8 sin 2,105 cos 2 12,8638 x x x x x e x x e − − + − = + − + = + So sánh kết quả mô phỏng với kết quả giải bằng lệnh solve. % phương pháp dùng lệnh Solve >> syms x y >> [x y]=solve(x^2+8*x-sin(y)-exp(-x)-2.105,-cos(x)+2*y-exp(-y)-12.8638) x =0.39875215273610764915221084631753191 y = 6.893180446475284371753576334095387 17. Giải hệ phương trình bằng phương pháp mô phỏng Simulink: 2 2 1 2 3 2 2 3 2 1 2 3 2 2 10,5 2 11,5 6 3 20,75 x x x x x x x x − − = + = + + = ; So sánh kết quả mô phỏng với kết quả giải bằng lệnh solve. >> syms x y z; [x y z]=solve(2*x^2-y^2-2*z-10.5,y+2*z^3-11.5,6*x+3*y^2+z-20.75) . BÀI THỰC HÀNH SYMBOLIC MATH. – LẬP TRÌNH – SIMULINK 1. Tính các giới hạn: G 1 = 0 1. Tính các tích phân xác định bằng phương pháp Simpson và bằng lệnh int trong Symbolic Math: T 1 = 2 2 2 a a x a x dx − − ∫ ; T 2 = ( ) 2 2 1 1 sin x dx x