intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Matlab ứng dụng: Phần I - TS. Nguyễn Hoài Sơn

Chia sẻ: Nguyễn Thị Ngọc Lựu | Ngày: | Loại File: PDF | Số trang:37

217
lượt xem
61
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Matlab ứng dụng: Phần I giới thiệu các nội dung sau: biểu thức, số, toán tử, hàm cơ bản, ưu tiên của các phép toán, ma trận và vectơ, các phép toán trên ma trận và vectơ,...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Matlab ứng dụng: Phần I - TS. Nguyễn Hoài Sơn

  1. MATLAB ÖÙNG DUÏNG TS. NGUYEÃN HOØAI SÔN TS Nguyễn Hoài Sơn KHOA XAÂY DÖÏNG & CÔ HOÏC ÖÙNG DUÏNG 2006
  2. Chöông 1 MATLAB CAÊN BAÛN TS Nguyễn Hoài Sơn
  3. MATLAB CAÊN BAÛN I. BIEÅU THÖÙC (EXPRESSION) Bieán soá ( variables) Soá (Numbers) Toaùn töû ( Operaters) Haøm ( Functions) - toái ña 19 kyù töï coù nghóa - phaân bieät giöõa chöõ hoa vaø chöõ thöôøng. - baét ñaàu baèng moät töø theo sau laø töø hay soá hoaëc daáu (_). Bieán (Variables) - bieán toøan cuïc (global) taùc duïng trong toøan chöông trình. - bieán cuïc boä (local) taùc duïng trong noäi taïi haøm (function) - moät soá bieán ñaëc bieät: pi, ans,… Kieåm tra bieán (who vaø whos) Xoùa bieán (clear vaø clear all) TS Nguyễn Hoài Sơn Ví duï >> clear a >> clear b degree >> a undefined function or variable
  4. MATLAB CAÊN BAÛN 1. Soá (Numbers) Taát caû nhöõng con soá ñeàu ñöôïc löu kieåu ñònh daïng (format) Duøng haøm format ñeå ñònh daïng kieåu soá: format (ñònh daïng) >> b=3/26; >> format long; b >> format +; b b= b= 0.11538461538462 + >> format short e; b >> format rat; b b= b= 1.1538e-001 3/26 >> format bank; b >> format short; b TS Nguyễn Hoài Sơn b= b= 0.12 0.1154 >> format short eng; b >> format long eng; b b= b= 115.3846e-003 115.384615384615e-003>> >> format hex; b b= 3fbd89d89d89d89e
  5. MATLAB CAÊN BAÛN 2. Toaùn töû (operaters) (+, -, *, /, \,^,’) >> 2*4+2 ans = 10 MATLAB >> (2+sqrt(-1))^2 ans = 3.0000 + 4.0000i Caùc bieán khoâng caàn khai baùo tröôùc. Caùc kyù töï thöôøng vaø in laø phaân bieät. Keát thuùc caâu leänh vôùi “;” khoâng hieån thò keát quûa caâu leänh. Bieán maëc nhieân “ans” >> rayon = 1e-1; TS Nguyễn Hoài Sơn >> surface = pi * rayon * rayon surface = 0.0314 >> volume= 4*pi*rayon^3/3; volume = 0.0042
  6. MATLAB CAÊN BAÛN 3. Haøm cô baûn (basis functions) abs, sqrt, exp, sin,… cos( x + iy ) = cos( x) cosh( y ) − i sin( x) sinh( y ) eiz + e − iz cos( z ) = 1 2 0.8 >> x=-pi:0.01:pi; 0.6 >> plot(x,cos(x); grid on 0.4 0.2 0 z = x + i * y → log( z ) = log( abs ( z )) + a tan 2( y , x ) * i -0.2 >> abs(log(-1)) -0.4 ans -0.6 3.1416 -0.8 TS Nguyễn Hoài Sơn z = x + i * y → r = abs ( z ); theta = a tan 2( y , x ) = a tan( y / x ) -1 -4 -3 -2 -1 0 1 2 3 4 >> z = 4 + 3i; >> r = abs(z) >> theta = atan2(imag(z),real(z)) >> z=r*exp(theta*i) r= z= 5 4.0000+3.0000i theta = 0.6435
  7. MATLAB CAÊN BAÛN 4. Öu tieân caùc pheùp toaùn >> a=2; b=3; c=4; >> a*b^c ans = 162 >> (a*b)^c ans = 1296 5. Taïo , löu vaø môû taäp tin (fprintf, save, fscanf, load, fopen, fclose…) x = 0:.1:1; y = [x; exp(x)]; 0.00 1.00000000 fid = fopen('exp.txt','w'); 0.10 1.10517092 fprintf(fid,'%6.2f %12.8f\n',y); ... TS Nguyễn Hoài Sơn fclose(fid); 1.00 2.71828183 Chöông trình chính Chöông trình con clear all; clc function file_dulieu A= file_dulieu A=[1 2 3;4 5 6;7 8 9]; 1 2 3 load dulieu, A save dulieu A 4 5 6 7 8 9
  8. MATLAB CAÊN BAÛN 6. Haøm xöû lyù soá (fix, floor, ceil, round, sign, sort…) fix: laøm troøn veà 0 round: laøm troøn >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> fix(a) >> round(a) ans = ans = 1 -4 6 -7 1 -5 7 -7 floor: laøm troøn veà aâm voâ cuøng sign: haøm daáu vôùi giaù trò ñôn vò >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> floor(a) >> sign(a) ans = ans = 1 -5 6 -8 1 -1 1 -1 sort: saép xeáp töø nhoû ñeán lôùn TS Nguyễn Hoài Sơn ceil: laøm troøn veà döông voâ cuøng >> a=[1.25,-4.54,6.5,-7.1]; >> a=[1.25,-4.54,6.5,-7.1]; >> sort(a) >> ceil(a) ans = ans = -7.1000 -4.5400 1.2500 6.5000 2 -4 7 -7
  9. MATLAB CAÊN BAÛN II. MA TRAÄN VAØ VECTÔ “ […;…;…]” >> A = [ 1, 2, 3; 4, 5, 6; 7, 8, 10] A = 123 456 7 8 10 >> A(3,3) = 17 A= 123 456 “;” coù nghóa laø chuyeån sang haøng keá tieáp. 7 8 17 “,” hay “ “ phaân caùch giöõa caùc phaàn töû. >> vec = [10; 0; 1000] vec = TS Nguyễn Hoài Sơn 10 0 1000 >> A’ ans = 147 258 3 6 17
  10. MATLAB CAÊN BAÛN >> t = 1:5 t= 12345 >> row = A(1,:) row = 123 >> col = A(:,1) “:” coù nghóa laø taát caû. col = “:” töø giaù trò naøy tôùi giaù trò khaùc. 1 “:” töø giaù trò naøy tôùi giaù trò khaùc böôùc bao nhieâu. 4 7 >> 1:0.3:2 ans = 1 1.3000 1.6000 1.9000 TS Nguyễn Hoài Sơn >> tt = t(:) tt = 1 2 3 4 5
  11. MATLAB CAÊN BAÛN Ma traän phöùc. >> imag(b) >> b = [4; 5-15*i; -5;2+i]; ans = >> abs(b) 0 ans = -15 4.0000 0 15.8114 1 5.0000 >> angle(b) 2.2361 ans = >> conj(b) 0 ans = -1.2490 4.0000 3.1416 5.0000 +15.0000i 0.4636 TS Nguyễn Hoài Sơn -5.0000 >> atan2(imag(b),real(b)) 2.0000 - 1.0000i ans = >> real(b) 0 ans = -1.2490 4 3.1416 5 0.4636 -5 2
  12. MATLAB CAÊN BAÛN Haøm taïo ma traän ñaëc bieät. >> A=zeros(3) >> C=ones(3) A= zeros(n) C= 0 0 0 zeros(m,n) 0 0 0 1 1 1 1 1 1 zeros([m n]) 0 0 0 1 1 1 zeros(size(A)) >> B=zeros(2,3) >> D=eye(3) B= ones(n) 0 0 0 D= ones(m,n) 1 0 0 0 0 0 0 1 0 ones([m n]) >> size(A) 0 0 1 ans = ones(size(A)) 3 3 >> eye(3,2) eye(n) >> zeros(size(B)) ans = 1 0 eye(m,n) ans = 0 1 eye(size(A)) 0 0 0 0 0 0 0 0 pascal >> numel(B) >> pascal(3) ans = TS Nguyễn Hoài Sơn magic ans = 1 1 1 numel(A) 6 1 2 3 >> length(B) length(A) ans = 1 3 6 rand(m,n) >> magic(3) 3 ans = diag(v,k), diag(v) >> rand(3,2) 8 1 6 tril, triu ans = 3 5 7 0.9501 0.4860 linspace(a,b), linspace(a,b,n) 0.2311 0.8913 4 9 2 logspace(a,b,n) 0.6068 0.7621
  13. MATLAB CAÊN BAÛN >> diag([2 1 2],1) ans = 0 2 0 0 0 0 1 0 0 0 0 2 0 0 0 0 >> diag(A) ans = 1 5 >> A=[1 2 3;4 5 6;7 8 9] 9 A= >> triu(A) ans = 1 2 3 1 2 3 4 5 6 0 5 6 7 8 9 0 0 9 >> tril(A) ans = TS Nguyễn Hoài Sơn 1 0 0 4 5 0 7 8 9 >> linspace(1,2,4) ans = 1.0000 1.3333 1.6667 2.0000 >> logspace(1,2,4) ans = 10.0000 21.5443 46.4159 100.0000
  14. MATLAB CAÊN BAÛN III. CAÙC PHEÙP TOÙAN TREÂN MA TRAÄN VAØ VECTÔ Pheùp tính Chuù thích +, - Coäng hoaëc tröø hai ma traän cuøng kích thöôùc A*B Nhaân hai ma traän A vaø B A/B Chia hai ma traän (chia phaûi) A vaø B A\B Chia traùi hai ma traän B vaø A A.*B Nhaân töøng phaàn töû cuûa hai ma traän A vaø B A./B Chia töøng phaàn töû cuûa hai ma traän A TS Nguyễn Hoài Sơn vaø B A.\B Chia töøng phaàn töû cuûa hai ma traän B vaø A .^ Muõ cho töøng phaàn töû cuûa maûng
  15. MATLAB CAÊN BAÛN >> A=[1 2 3;4 5 6;7 8 9] >> D=[A C] A= D= 1 2 3 1 2 3 -4 2 3 4 5 6 4 5 10 1 2 1 7 8 9 7 8 9 2 5 6 >> A(2,3)=10 >> D(5) A= ans = 1 2 3 5 4 5 10 >> D(4,5) 7 8 9 ??? Index exceeds matrix dimensions. >> B=A(2,1) >> X=D B= X= 4 1 2 3 -4 2 3 >> C=[-4 2 3;1 2 1;2 5 6] 4 5 10 1 2 1 TS Nguyễn Hoài Sơn C= 7 8 9 2 5 6 -4 2 3 >> X(2,6) 1 2 1 ans = 2 5 6 1 >> X(2,:) ans = 4 5 10 1 2 1
  16. MATLAB CAÊN BAÛN X= >> X(:,end) 1 2 3 -4 2 3 ans = 4 5 10 1 2 1 3 7 8 9 2 5 6 1 6 >> E=X([2 3],[1 3]) E= >> X(:,1) 4 10 ans = 7 9 1 >> X(2,end) 4 ans = 7 1. >> 1:5 >> X(3,:)=[ ] ans = X= 1 2 3 4 5 1 2 3 -4 2 3 TS Nguyễn Hoài Sơn >> 30:-4:15 4 5 10 1 2 1 ans = >> X(:,5)=[3 4] 30 26 22 18 X= >> X(2:3,:) 1 2 3 -4 3 3 ans = 4 5 10 1 4 1 4 5 10 1 2 1 >> X(2,:) 7 8 9 2 5 6 ans = 4 5 10 1 2 1
  17. MATLAB CAÊN BAÛN >> C(4,:)=[8 4 6] C= -4 2 3 1 2 1 2 5 6 8 4 6 >> C(:,4)=[8 4 6 1]’ C= -4 2 3 8 C= 1 2 1 4 2 5 6 6 -4 2 3 8 4 6 1 1 2 1 >> C=[C ones(4);zeros(4) eye(4)] 2 5 6 C= -4 2 3 8 1 1 1 1 TS Nguyễn Hoài Sơn 1 2 1 4 1 1 1 1 2 5 6 6 1 1 1 1 8 4 6 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 Ma traän phöùc. 0 0 0 0 0 0 0 1
  18. MATLAB CAÊN BAÛN Haøm xöû lyù ma traän vaø vectô (size, median, max, min, mean, sum, length,…) >> size(C) ans = 3 3 >> mean(B) C= ans = -4 2 3 2.6667 >> sum(B) 1 2 1 ans = 2 5 6 16 B= >> min(C) 1 5 6 -5 7 2 ans = TS Nguyễn Hoài Sơn -4 2 1 >> sort(C) ans = -4 2 1 1 2 3 2 5 6
  19. MATLAB CAÊN BAÛN • II. Giaûi heä phöông trình tuyeán tính vaø phi tuyeán baèng haøm thö vieän Matlab: solve 1. Heä ñaïi soá tuyeán tính A*x=b >>clear all >>clc >>A=[1 3 6;2 7 8;0 3 9]; >>b=[10;9;8]; >>x=inv(A)*b %(x=A\b) x1 + 3x 2 + 6 x3 = 10 x= 2 x1 + 7 x 2 + 8 x3 = 9 7.8571 -3.1905 0 x1 + 3x 2 + 9 x3 = 8 1.9524 2. Heä ñaïi soá tuyeán tính A*x=b , solve TS Nguyễn Hoài Sơn >>S=solve('x+3*y+6*z=10','2*x+7*y+8*z=9','3*y+9*z=8') S= x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] >> eval([S.x S.y S.z]) ans = 7.8571 -3.1905 1.9524
  20. MATLAB CAÊN BAÛN 3. Heä ñaïi soá tuyeán tính A*x=b, LU decomposition >> clear all >> clc >> [L,U]=lu(A) L= 0.5000 -0.1667 1.0000 1.0000 0 0 0 1.0000 0 x1 + 3x 2 + 6 x3 = 10 U= 2.0000 7.0000 8.0000 2 x1 + 7 x 2 + 8 x3 = 9 0 3.0000 9.0000 0 x1 + 3x 2 + 9 x3 = 8 0 0 3.5000 >> x=U\(L\b) x= 7.8571 TS Nguyễn Hoài Sơn -3.1905 1.9524 >> x=inv(U)*inv(L)*b x= 7.8571 -3.1905 1.9524
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2