Lập Trình ứng Dụng Với Matlab - Tài Liệu Môn Học

  • Trang chủ
  • Đăng ký
  • Đăng nhập
  • Liên hệ
Tài Liệu Môn Học

Tài Liệu Môn Học

Tổng hợp tài liệu các môn học chuyên ngành cho sinh viên

Lập trình ứng dụng với Matlab

Matlablàmột ngôn ngữ lập trình thực hành bậc cao đ-ợc sử dụng để giải các bài

toán về kỹ thuật.Matlab tích hợp đ-ợc việc tính toán, thể hiện kết quả, cho phép lập trình,

giao diện làm việc rất dễ dàng cho ng-ời sử dụng. Dữ liệu cùng với th-viện đ-ợc lập

trình sẵn cho phép ng-ời sử dụng có thể có đ-ợc những ứng dụng sau đây.

• Sử dụng các hàm có sẵn trong th-viện, các phép tính toán học thông th-ờng

• Cho phép lập trình tạo ra những ứng dụng mới.

• Cho phép mô phỏng các mô hình thực tế.

• Phân tích, khảo sát vàhiển thị dữ liệu.

• Với phần mềm đồ hoạ cực mạnh

• Cho phép phát triển,giao tiếp với một số phần mềm khác nh-C++, Fortran.

pdf138 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 4476 | Lượt tải: 1download Tóm tắt nội dung Lập trình ứng dụng với Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trênểu thức F với biến độc lập. ắ limit(F) : Tìm giới hạn của biểu thức F khi a = 0. ắ limit(F, x, a, ‘right’) hoặc Lim it(F, x, a, ‘left’) : Tìm giới hạn phải hoặc bên trái Ví dụ: >>syms x a t h >>limit(sin(x)/x) ans = 1 >>limit(1/x,x,0,’right’) ans = inf >>limit(1/x,x,0,’left’) ans = -inf >>limit((sin(x+h)-sin(x))/h,h,0) ans = cos(x) >>v = [(1+a/x)^x,exp(-x)]; >>limit(v,x,inf,’left’) ans = [exp(a),0] • Tính tổng của dãy số lμ các biến symbolic(symsum): ắ symsum(S): Tổng của biểu thức symbolic theo biến symbolic k , k đ−ợc xác định bằng lệnh findsym từ 0 k -1. → ắ symsum(S,v): Tổng của biểu thức symbolic S theo biến symbolic v,v đ−ợc xác định từ 0 k - 1. → Trang 9 ắ symsum(S,a,b), symsum(S,v,a,b): Tổng của biểu thức symbolic S theo symbolic v, v đ−ợc xác định từ v = s đến v = b. Ví dụ: >>syms k n x >>symsum(k^2) ans = 1/3*k^3-1/2*k^2+1/6*k >>symsum(k) ans = 1/2*k^2-1/2*k >>symsum(sin(k*pi)/k,0,n) ans = -1/2*sin(k*(n+1))/k+1/2*sin(k)/k/(cos(k)-1)*cos(k*(n+1))- 1/2*sin(k)/k/(cos(k)-1) >>symsum(k^2,0,10) ans = 385 >>symsum(x^k/sym(‘k!’), k, 0,inf) ans = exp(x) Vi dụ: Cho tổng của 2 dãy S1 = 1 + ++ 22 3 1 2 1 …. S2 = 1 + x + x2 +….. >>syms x k >>s1 = symsum(1/k^2,1,inf) %inf lμ vô cùng. s1 = 1/6*pi^2 >>s2 = symsum(x^k,k,0,inf) • Tìm hμm ng−ợc (finverse): ắ finverse(f): Tìm hμm ng−ợc của f. f lμ hμm symbolic với một biến x ắ finverse(f,u): Tìm hμm ng−ợc của f. f lμ hμm symbolic với một biến u. Ví dụ: >>syms u v x >>finverse(1/tan(x)) ans = atan(1/x) >>finverse(exp(u-2*v),u) ans = 2*v+log(u) Trang 10 s2 = -1/(x-1) • Khai triển taylor(taylor): ắ taylor(f) ắ taylor(f,n,v): Cho ta xấp xỉ đa thức theo Maclaurin bậc (n-1) của biểu thức, hμm khai triển symbolic f vμ v lμ biến độc lập trong biểu thức. v có thể lμ một xâu (string) hay lμ biến symbolic. ắ taylor(f,n,v,a): Khai triển Taylor của biểu thức hay hμm symbolic f quanh điểm a. Đối số có thể lμ giá trị số, một hμm symbolic hay một xâu……Nếu không cho gía trị n thì mặc nhiên trong Matlab n = 6. Vi dụ: Khai triển Taylor của hμm f = exsin(x) quanh điểm x0 = 2 (Nếu x0 = 0 ta có khai triển Maclaurin). >>syms x >> f = exp(x*sin(x)); >>t = taylor(f,4,2)% khai triển 4 số hạng đầu tiên khác o vμ xung quanh điểm x0 = 2 Kết quả: exp(2*sin(2))+exp(2*sin(2))*(2*cos(2)+sin(2))*(x-2)+exp(2*sin(2))*(- sin(2)+cos(2)+2*cos(2)^2+2*cos(2)*sin(2)+1/2*sin(2)^2)*(x-2)^2+exp(2*sin(2))*(- 1/3*cos(2)-1/2*sin(2)-cos(2)*sin(2)+2*cos(2)^2- sin(2)^2+4/3*cos(2)^3+2*cos(2)^2*sin(2)+cos(2)*sin(2)^2+1/6*sin(2)^3)*(x-2)^3 Bây giờ ta có thể vẽ hμm đã cho vμ hμm đã khai triển bằng chuỗi Taylor quanh điểm x0 = 2 vμ cho nhận xét. >>syms x >> f = exp(x*sin(x)); >>t = taylor(f,10,2); >>xd= 1:0.05:3; >>yd = subs(f,x,xd);% thay thế biễn x bằng xd >>ezplot(t,[1,3])% vẽ hμm symbolic >> hold on >>plot(xd,yd,'r-') 6.4.2 Các hμm lμm đơn giản hoá các biểu thức: • Gom số hạng, biến(collect): ắ collect(S): S lμ đa thức, gom các số hạng chứa biến x ắ collect(S,v): S lμ đa thức, gom các số hạng chứa biến v Trang 11 Ví dụ: >>syms x y; >>R1 = collect((exp(x)+x)*(x+2)) >>R2 = collect((x+y)*(x^2+y^2+1), y) >>R3 = collect([(x+1)*(y+1),x+y]) Kết quả: R1 = x^2+(exp(x)+2)*x+2*exp(x) R2 = y^3+x*y^2+(x^2+1)*y+x*(x^2+1) R3 = [(y+1)*x+y+1, x+y] • Khai triển biểu thức(expand): ắ expand: Khai triển biểu thức symbolic S. Ví dụ: >>syms x y a b c t >>expand((x-2)*(x-4)) ans = x^2-6*x+8 >>expand(cos(x+y)) ans = cos(x)*cos(y)-sin(x)*sin(y) >>expand(exp((a+b)^2)) ans = exp(a^2)*exp(a*b)^2*exp(b^2) >>expand(log(a*b/sqrt(c))) ans = log(a)+log(b)-1/2*log(c) >>expand([sin(2*t), cos(2*t)]) ans = [2*sin(t)*cos(t), 2*cos(t)^2-1] • Phân tích biểu thức thμnh thừa số(factor): ắ Factor(X): Phân tích biểu thức mảng symbolic X thμnh thừa số. Ví dụ: >>syms x y a b >>factor(x^3-y^3) (x-y)*(x^2+x*y+y^2) >>factor([a^2-b^2, a^3+b^3]) [(a-b)*(a+b), (a+b)*(a^2-a*b+b^2)] >>factor(sym('12345678901234567890')) Trang 12 (2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541) • Phân tích đa thức ra dạng thừa số(horner): ắ R = horner(p): Ví dụ: >>syms x y >>horner(x^3-6*x^2+11*x-6) ans = -6+(11+(-6+x)*x)*x >>horner([x^2+x;y^3-2*y]) ans = [ (1+x)*x] [(-2+y^2)*y] • Lấy tử số vμ mẫu số(numden): ắ [n.d] = numden(A): lấy ra tử số của A lμ n, mẫu số của A lμ d Ví dụ: >>syms x y a b >>A= (4-x)/5; >>[n,d] = numden(A) n = 4-x d = 5 >>[n,d] = numden(x/y + y/x) n = x^2+y^2 d = y*x >>A = [a, 1/b] >>[n,d] = numden(A) n = [a, 1] d = [1, b] • Tìm dạng tối giản của đa thức( simple, simplify): ắ R = simplify(S) ắ R = simple(S) ắ [r, how] = simple(S) Ví dụ: >>syms x y a b c >>simplify(sin(x)^2 + cos(x)^2) Trang 13 ans = 1 >>simplify(exp(c*log(sqrt(a+b)))) ans = (a+b)^(1/2*c) >>S = [(x^2+5*x+6)/(x+2),sqrt(16)]; >>R = simplify(S) R = [x+3,4] 6.4.3 Biến đổi : • Biến đổi fourier: ắ F = fourier(f): Biến đổi fourier của hμm vô h−ớng f với biến độc lập mặc nhiên f vμ cho ta hμm mặc nhiên qua phép biến đổi nμylμ w. ắ F = fourier(f,v): F lμ hμm của biến v thay thế biến mặc nhiên w. ắ F = fourier(f,u,v): f lμ hμm của u vμ F lμ hμm của v chúng thay thế các biến mặc nhiên x vμ w. Ví dụ: >>syms x w u >>f = exp(-x^2) >>fourier(f) ans = pi^(1/2)*exp(-1/4*w^2) >>g = exp(-abs(w)) >>fourier(g) ans = 2/(1+t^2) >>f= x*exp(-abs(x)) >>fourier(f,u) ans = -4*i/(1+u^2)^2*u >>syms x v u real >>f= exp(-x^2*abs(v))*sin(v)/v >>fourier(f,v,u) ans = -atan((u-1)/x^2)+atan((u+1)/x^2) • Biến đổi ng−ợc fourier: ắ f = ifourier(F): Biến đổi ng−ợc của hμm mục tiêu vô h−ớng F với biến độc lập mặc nhiên w. phép biến đổi ng−ợc nμy lμ hμm của x. ắ f = ifourier(F,u): f lμ hμm củabiến u thay thế biến mặc nhiên x. ắ f = ifourier(F,v,u): F lμ hμm của v vμ f lμ hμm của u chúng thay thế các biến mặc nhiên w vμ x t−ơng ứng. Trang 14 Ví dụ: >>syms a w x t v real >>f = exp(-w^2/(4*a^2)) >>F = ifourier(f); >>F = simple(F) F = a*exp(-x^2*a^2)/pi^(1/2) >>g=exp(-abs(x)) >>ifourier(g) ans = 1/(1+t^2)/pi >>f=2*exp(-abs(w))-1 >>simplify(ifourier(f,t)) ans = (2-pi*Dirac(t)-pi*Dirac(t)*t^2)/(pi+pi*t^2) >>f=exp(-w^2*abs(v))*sin(v)/v; >>ifourier(f,v,t) ans = 1/2*(atan((t+1)/w^2) - atan((-1+t)/w^2))/pi • Biến đổi laplace: ắ L = laplace(F): Biến đổi Laplace của hμm F với biến mặc nhiên độc lập t. nó cho ta một hμm của s ắ L = laplace(F,t): L lμ một hμm của t thay thế biến mặc nhiên s. ắ L = laplace(F,w,z): L lμ hμm của z vμ F lμ hμm của w, nó thay thế các biến symbolic mặc nhiên s vμ t t−ơng ứng. Ví dụ: >>syms t v x a >>f = t^4 >>laplace(f) ans = 24/s^5 >>g=1/sqrt(s) >>laplace(g) ans = 1/s^(1/2)*pi^(1/2) >>f=exp(-a*t) >>laplace(f,x) ans= 1/(x + a) Trang 15 >>f=1- cos(t*v) >>laplace(f,x) ans = 1/x-x/(x^2+v^2) • Biến đổi laplace ng-ợc ắ F = ilaplace(L): Biến đổi Laplace ng−ợc của hμm symbolic L với biến mặc nhiên độc lập s. Nó cho ta một hμm của t. ắ F = ilaplace(L,y): F lμ hμm của y thay thế biến mặc nhiên t. ắ F = ilaplace(L,y,x): F lμ hμm của x vμ L lμ hμm của y, nó thay thế các biến symbolic mặc nhiên t vμ s. Ví dụ : >>syms s a t >>f=1/s^2 >>ilaplace(f) ans = t >>g=1/(t-a)^2 >>ilaplace(g) ans = x*exp(a*x) >>syms u a x >>f=1/(u^2-a^2) >>ilaplace(f,x) ans = 1/(-a^2)^(1/2)*sin((-a^2)^(1/2)*x) >>syms s v x >>f=s^3*v/(s^2+v^2) >>ilaplace(f,v,x) ans = s^3*cos(s*x) 6.4.4 áp dụng đồ hoạ: • ezplot( vẽ đ-ờng) ắ ezplot(f): Vẽ hàm f = f(x) với miền mặc nhiên -2 < x < 2 . ắ ezplot(f,[min,max]) : Vẽ hμm f = f(x) trong miền giá trị [min,max] của biến. ắ ezplot(x,y): Vẽ đ−ờng cong ham số x = x(t); y = y(t) với biến mặc nhiên Trang 16 0 < t < 2π . Ví dụ: >>syms x >>ezplot(erf(x)) >>grid • ezplot3( vẽ đ−ờng trong 3 chiều) ắ ezplot3(x,y,z): Vẽ các hμm x = x(t), y = y(t), vμ z = z(t) với miền mặc định lμt 0 < t < 2 . ắ ezplot3(x,y,z,[tmin,tmax]): Vẽ các hμm x = x(t), y = y(t), vμ z = z(t) trong khoảng giá trị tmin < t < tmax. Ví dụ: >>syms t; ezplot3(sin(t), cos(t), t,[0,6*pi]) Trang 17 • Ví dụ : Cho hμm f(x) = )cos(45 1 x+ với x∈[a,b]. ắ Vẽ đồ thị vμ các đạo hμm bậc 1, bậc 2. miền xác định mặc nhiên trong symbolic Matlab lμ ππ 22 ≤≤− x . Hãy vμo cửa sổ soạn thảo vμ trong cửa sổ nμy ta viết ch−ơng trình nh− sau: syms x f1 = 1/(5+4*cos(x)); f2 = diff(f1); % dao ham bac 1 cua f1. f3 = diff(f2); % dao ham bac 2 cua f1. subplot(2,2,1) ezplot(f1) subplot(2,2,2) ezplot(f2) subplot(2,2,3) ezplot(f3) ắ Tìm các điểm x lμm cho đạo hμm bậc 3 của hμm f(x) = )cos(45 1 x+ bằng không vμ vẽ đồ thị. Hãy vμo cửa sổ soạn thảo vμ trong cửa sổ nμy ta viết ch−ơng trình nh− sau: syms x f = 1/(5+4*cos(x)); f3 = diff(f,3); % dao ham bac 3 cua f. pretty(f3); %dua ve dang quyen toan hoc f3 = simplify(f3); pretty(f3); z = solve(f3); %Giai phuong trinh f3 = 0 format; %lay 5 chu so so le zr = double(z); %chuyen ma tran, bieu thuc symbolic ve dang so ezplot(f3) %ve ham f3 hold on; %luu do thi da ve Trang 18 plot(zr,0*zr,'ro') % ve diem "o" mau do cho cac diem co gia tri thuc de f3 = 0. plot([-2*pi,2*pi],[0,0],'g-.') Trang 19

File đính kèm:

  • pdfLập trình ứng dụng với Matlab.pdf
Tài liệu liên quan
  • Design a DICOM Viewer by Using GUIDE in Matlab - Phạm Phúc Ngọc

    13 trang | Lượt xem: 1034 | Lượt tải: 0

  • Phân tích dầm thép, bê tông liên hợp có xét đến tương tác không toàn phần của liên kết chịu cắt bằng phương pháp ma trận độ cứng trực tiếp

    11 trang | Lượt xem: 1935 | Lượt tải: 0

  • Giáo trình Matlab căn bản - Chương 10: Các công cụ khác của Matlab

    77 trang | Lượt xem: 5450 | Lượt tải: 1

  • Bài thực hành xử lý tín hiệu số với Matlab - Bài 1

    17 trang | Lượt xem: 6750 | Lượt tải: 2

  • Báo cáo thực tập Tốt nghiệp tại Công ty MathWorks - Nguyễn Thanh Duẩn

    50 trang | Lượt xem: 771 | Lượt tải: 1

  • Thực hành Matlab cơ bản - Worksheet 2: Vectors trong Matlab

    7 trang | Lượt xem: 9520 | Lượt tải: 2

  • Đề tài Xây dựng các mô hình trong lĩnh vực điện tử công suất và truyền động điện trên Matlab

    49 trang | Lượt xem: 2246 | Lượt tải: 1

  • Ứng dụng mô hình mạng neural truyền thẳng đa lớp trong bài toán nhận dạng thư rác

    7 trang | Lượt xem: 2575 | Lượt tải: 1

  • Giáo trình Matlab cơ bản - Chương 2: Ma trận

    77 trang | Lượt xem: 1101 | Lượt tải: 1

  • Matlab và ứng dụng - Bổ sung một số hàm Matlab cơ bản

    5 trang | Lượt xem: 11940 | Lượt tải: 2

Copyright © 2025 MonHoc.vn - Thủ Thuật Tin Học, Thư viện SKKN, Thư viện đề thi

Từ khóa » Khai Triển Taylor Trong Matlab