Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
111,5 KB
Nội dung
BÀITHỰCHÀNHSYMBOLICMATH–LẬPTRÌNH–SIMULINK Tính giới hạn: lim ( + x ) G1 = 1 lim − x ÷; x →0 x e −1 G2 = lim ( sin x ) x →0 x ; G3 = ln x ; giải: để tính giới hạn hàm số: kq=limit(y,x,giới hạn) với giới hạn vô inf trước tiên cần phải khai báo ký hiệu: syms x…; >> syms x; >> G1=1/x-1/(exp(x)-1); >> G2=sin(x).^x; >> G3=(1+x).^(log(x)); >> kq1=limit(G1,x,0) kq1 =1/2 >> kq2=limit(G2,x,0) kq2 =1 >> kq3=limit(G3,x,0) kq3 = Tính đạo hàm hàm số: x →0 y1 = cos x + ; y2 = x a2 x a − x + arcsin ; 2 a giải:với tốn tính đạo hàm cần khai báo biến syms, dùng lệnh diff(f) cho dao ham cap 1,diff(f,2) cho dao ham cap >> syms x a; >> y1=1./cos(sqrt(x.^2+1)); >> y2=x/2*sqrt(a.^2-x.^2)+a.^2/2*asin(x/a); >> kq1=diff(y1) kq1 = (x*sin((x^2 + 1)^(1/2)))/(cos((x^2 + 1)^(1/2))^2*(x^2 + 1)^(1/2)) >> kq2=diff(y2) kq2 = (25 - x^2)^(1/2)/2 - x^2/(2*(25 - x^2)^(1/2)) + 5/(2*(1 - x^2/25)^(1/2)) Tính tích phân: sin x T1 = ∫ + cos2 x dx ; T2 = ∫ arcsin x − x2 dx ; giải:với tốn tính ngun hàm cần khai báo biến syms, dùng lệnh int(f(x)) >> syms x; >> T1=sin(2*x)/(1+cos(2*x)); >> T2=atan(sin(2*x))/sqrt(1-x.^2); >> int(T1) ans =-log(2*cos(x)^2)/2 >> int(T2) Warning: Explicit integral could not be found ans =int(atan(sin(2*x))/(1 - x^2)^(1/2), x) Tính tích phân xác định phương pháp Simpson lệnh int Symbolic Math: a − sin ( x ) T1 = ; x a − x dx ; T2 = ∫ ∫ −a x dx Giai: để giải tốn với tích phân xác định dùng phương pháp sau: Int(f(x),a,b) với a,b giới hạn với phương pháp hình thang y=f(x) lệnh trapz(x,y) với x=[a:h:b] với p2 simson lệnh quad(fun,a,b) hàm fun viết dạng handles (@(x)) >> syms x; >> T1=x.^2*sqrt(a.^2-x.^2); >> T2=sqrt(1-sin(x).^2)/x; >> int(T1,-a,a) ans = (pi*a^4)/8 >> int(T2,1,2) Warning: Explicit integral could not be found ans = int((1 - sin(x)^2)^(1/2)/x, x = 2) ?5 Khảo sát biến thiên vẽ đồ thị hàm số: f(x) = >> syms x; >> f=(x.^3*log(x)+4*x)/(x.^2-1); >> ezplot(f) >> hold on >> x_tcd=solve(x.^2-1) x_tcd = -1 >> plot([-1 1],[-15 25],'r') >> plot([1 1],[-15 25],'r') >> x_ctr=double(solve(diff(f))) x_ctr = 2.1501 >> y_ctr=subs(f,x_ctr) x3 ln x + x ; x2 − y_ctr = 4.4741 >> plot(x_ctr,y_ctr,'r*') 300 ?6 Tính tổng S = ∑ n n =1 sin π 2n phương pháp lập trình, so sánh kết tính tốn sử dụng cách tính tổng chuỗi SymbolicMath giải: tốn sử dụng vòng lặp for i=array >> n=1 >> s=0; >> for n=1:300; s=s+n.^2*sin(pi/(2.^n)); end >> s s = 17.8505 cách 2: tính phương pháp chuỗi SymbolicMath ta thêm double để chuyển từ dạng ký hiệu sang dạng số: >> syms n; >> double(symsum(n^2*sin(pi/(2^n)),1,300)) ans = 17.8505 ?7 Sử dụng vòng lặp for lậptrình Matlab để tính tổng: S = n + 5n ∑ 6n n=1 500 so sánh kết có với kết tính tốn sử dụng cách tính tổng chuỗi SymbolicMathLậptrình Matlab tìm giá trị nguyên dương lớn số n mà có tổng: a S = 11 + 22 + 33 + + nn < 1.000.000; b S = en – 1992.lg(n) ≤ 5; giải: với toán cần kết hợp thêm lệnh if a))>> n=1; s=0; for n=1:1000000; if n.^n> s s= ->> n=1; >> s=1; >> while n.^n> s s= >> while exp(n)-1992*log10(n)> s s= >> n=7; >> h=exp(n)-1992*log10(n) h =-586.8021 >> h=0; >> n=1; >> while h> n-2 n= ?9 Một mạch điện gồm đoạn mạch mắc song song, đoạn thứ gồm N tụ điện mắc nối tiếp, đoạn thứ hai gồm M tụ điện mắc nối tiếp Lậptrình Matlab nhập N, M (> T=1; x x3 xn + + + + 2! 3! n! >> x=input('nhap x=') nhap x=3 x= >> n=input('nhap n=') nhap n=2; n= >> for i=1:n; T=T+x.^i/factorial(i); end >> T T = 8.5000 11 Cho hàm số : f(x) = 0.5 x < −0.5 2 x − 0.5 ≤ x ≤ 0.5 0.5 x > 0.5 Vẽ đồ thị hàm f với x khoảng -1 ÷ giải: với toán cần phải tạo file M-file sử dụng lệnh dk if M-file: function y = cau11(x ) j=0; y=[]; j=j+1; for i=x; if i< -0.5 y(j)=0.5; elseif i> x=[-1:0.05:1]; >> y=cau11(x); >> plot(x,y) Cach 2: function y = cau11(x ) y=[]; if x< -0.5 y=0.5; elseif -0.5≤ x> x=[-1:0.05:1]; >> y=cau111(x); >> plot(x,y) 12 Cho hàm số: f(x) = − sin x 1 sin x x < −π / −π / ≤ x ≤ π / x > 0.5 khoảng -π ÷ π function y = cau13(x ) if x< -pi/2 y=-sin(x); elseif -pi/2 x=[-pi:0.1:pi]; >> y=cau13(x); >> plot(x,y) Cách 2: function y = cau13(x ) j=0; j=j+1; y=[]; for i=x if i< -pi/2 y(j)=-(sin(i)); elseif -pi/2 x=[-pi:0.1:pi]; Vẽ đồ thị hàm f với x >> y=cau13(x); >> plot(x,y) 13 Nhập vào hai số a,b tính: y = 15x2 + x + 72 với: x= a+b a < b 15,172 a = b a−b a > b a + b2 giải: với tốn cần lập M-file với x=cau13(a,b) function x = cau131(a,b ) if a> a=input('nhap a=') nhap a=5 a= >> b=input('nhap b=') nhap b=5 b= >> x=cau131(a,b) x = 15.1720; >> y=15*x.^2+x+72 ans = 3.5400e+003 14 Nhập vào ba số x, y, z, tính đưa kết hình: f= x+ y z + arctg − xy x > va z < x+ y xy < va z > z + arctg − xy x+ y z + arctg xy > va z > − xy 15 cac truong hop lai function f = cau14( x,y,z) if x>0& z1& z>0 f=z.^3+atan((x+y)/(1-x*y)); else f=15; end end >> x=input('nhap x=') nhap x=-1 x = -1 >> y=input('nhap y=') nhap y=-2 y = -2 >> z=input('nhap z=') nhap z=-3 z = -3 >> f=cau14(x,y,z) f = 15 15 Giải phương trình vi phân phương pháp mô Simulink: dy = cos( x − y ) − ( x − y ) dx giải: khối cần cho toán: ADD- khối cộng RAMP- khối tín hiệu vào phi tuyến ( hàm lượng giác) GAIN- nhân với tín hiệu đứng trước TRIGONOMETRIC FUNCTION-khối hàm lượng giác Intergartor- khối vi phân Scope - hiển thị hình kết đồ thị Display - hiển thị hình kết số cuối Math funtion- khơí cho bình phương đầu vào 16 Giải hệ phương trình phi tuyến phương pháp mô Simulink: −x x1 + x1 − s inx2 = e + 2,105 − x2 − cos x1 + x2 = e + 12,8638 So sánh kết mô với kết giải lệnh solve Các khối cần lấy: Constant- khối số nguyên Display- thị kết số Subtract -khối cộng trừ Math function- khối bình phương (có thể thay đổi giá trị khối) Algebraic Constraint- khối giải hệ phương trình fsolve Product- thực nhân chia TRIGONOMETRIC FUNCTION-khối hàm lượng giác kiểm tra lại lệnh fsolve(@fun,x0) function f = bai161(x) f=[x(1)^2+8*x(1)-sin(x(2))-exp(-x(1))-2.105;exp(x(2))+cos(x(1))-2*x(2)+12.8638]; >> t=[0;0]; >> kq=fsolve(@bai161,t) kq = 0.3988 6.8932 17 Giải hệ phương trình phương pháp mơ Simulink: 2 x12 − x22 − x3 = 10,5 x2 + x3 = 11,5 ; 6 x1 + x2 + x3 = 20, 75 So sánh kết mô với kết giải lệnh solve kiểm tra lại lệnh fsolve: function f =bai171(x ) f=[2*x(1)^2-x(2)^2-2*x(3)-10.5;x(2)+2*x(3)^211.5;6*x(1)+3*x(2)^2+x(3)-20.75]; >> x0=[0;0;0]; >> fsolve(@bai171,x0) ans = 2.1693 1.8197 -2.2000 18 Giải phương trình vi phân phương pháp mô Simulink: (2 x + xy − 1)dx + (2 y + x y + 3)dy = với x = ÷ 20 ... tốn sử dụng cách tính tổng chuỗi Symbolic Math Lập trình Matlab tìm giá trị nguyên dương lớn số n mà có tổng: a S = 11 + 22 + 33 + + nn < 1.000.000; b S = en – 1992.lg(n) ≤ 5; giải: với toán... phương pháp chuỗi Symbolic Math ta thêm double để chuyển từ dạng ký hiệu sang dạng số: >> syms n; >> double(symsum(n^2*sin(pi/(2^n)),1,300)) ans = 17.8505 ?7 Sử dụng vòng lặp for lập trình Matlab... plot(x_ctr,y_ctr,'r*') 300 ?6 Tính tổng S = ∑ n n =1 sin π 2n phương pháp lập trình, so sánh kết tính tốn sử dụng cách tính tổng chuỗi Symbolic Math giải: tốn sử dụng vòng lặp for i=array >> n=1 >> s=0; >>