Tài liệu Bài giảng matlab ứng dụng phần i - ts. nguyễn hoài sơn

  • Số trang: 37 |
  • Loại file: PDF |
  • Lượt xem: 132 |
  • Lượt tải: 0
nguyen-thanhbinh

Đã đăng 10809 tài liệu

Mô tả:

TS. NGUYEÃN HOØAI SÔN KHOA XAÂY DÖÏNG & CÔ HOÏC ÖÙNG DUÏNG 2006 TS Nguyễn Hoài Sơn MATLAB ÖÙNG DUÏNG Chöông 1 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN MATLAB CAÊN BAÛN I. BIEÅU THÖÙC (EXPRESSION) ƒ Bieán soá ( variables) ƒ Soá (Numbers) ƒ Toaùn töû ( Operaters) ƒ Haøm ( Functions) ™ Kieåm tra bieán (who vaø whos) ™ Xoùa bieán (clear vaø clear all) Ví duï >> clear a >> clear b degree >> a undefined function or variable TS Nguyễn Hoài Sơn Bieán (Variables) - 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 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,… 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á: >> b=3/26; >> format long; b b= 0.11538461538462 >> format short e; b b= 1.1538e-001 >> format bank; b b= 0.12 >> format short eng; b b= 115.3846e-003 >> format hex; b b= 3fbd89d89d89d89e >> format +; b b= + >> format rat; b b= 3/26 >> format short; b b= 0.1154 >> format long eng; b b= 115.384615384615e-003>> TS Nguyễn Hoài Sơn format (ñònh daïng) MATLAB CAÊN BAÛN 2. Toaùn töû (operaters) (+, -, *, /, \,^,’) MATLAB ƒ 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; >> surface = pi * rayon * rayon surface = 0.0314 >> volume= 4*pi*rayon^3/3; volume = 0.0042 TS Nguyễn Hoài Sơn >> 2*4+2 ans = 10 >> (2+sqrt(-1))^2 ans = 3.0000 + 4.0000i 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 ) = 2 >> x=-pi:0.01:pi; >> plot(x,cos(x); grid on 1 0.8 0.6 0.4 0.2 >> abs(log(-1)) ans 3.1416 z = x + i * y → r = abs ( z ); theta = a tan 2( y , x ) = a tan( y / x ) >> z = 4 + 3i; >> r = abs(z) >> theta = atan2(imag(z),real(z)) r= 5 theta = 0.6435 0 -0.2 -0.4 -0.6 -0.8 -1 -4 -3 -2 -1 0 1 2 3 >> z=r*exp(theta*i) z= 4.0000+3.0000i 4 TS Nguyễn Hoài Sơn z = x + i * y → log( z ) = log( abs ( z )) + a tan 2( y , x ) * i 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 x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt','w'); fprintf(fid,'%6.2f %12.8f\n',y); fclose(fid); Chöông trình chính clear all; clc file_dulieu load dulieu, A 0.00 1.00000000 0.10 1.10517092 ... 1.00 2.71828183 Chöông trình con function file_dulieu A=[1 2 3;4 5 6;7 8 9]; save dulieu A A= 1 2 3 4 5 6 7 8 9 TS Nguyễn Hoài Sơn 5. Taïo , löu vaø môû taäp tin (fprintf, save, fscanf, load, fopen, fclose…) MATLAB CAÊN BAÛN ƒ fix: laøm troøn veà 0 >> a=[1.25,-4.54,6.5,-7.1]; >> fix(a) ans = 1 -4 6 -7 ƒ floor: laøm troøn veà aâm voâ cuøng >> a=[1.25,-4.54,6.5,-7.1]; >> floor(a) ans = 1 -5 6 -8 ƒ ceil: laøm troøn veà döông voâ cuøng >> a=[1.25,-4.54,6.5,-7.1]; >> ceil(a) ans = 2 -4 7 -7 ƒ round: laøm troøn >> a=[1.25,-4.54,6.5,-7.1]; >> round(a) ans = 1 -5 7 -7 ƒ sign: haøm daáu vôùi giaù trò ñôn vò >> a=[1.25,-4.54,6.5,-7.1]; >> sign(a) ans = 1 -1 1 -1 ƒ sort: saép xeáp töø nhoû ñeán lôùn >> a=[1.25,-4.54,6.5,-7.1]; >> sort(a) ans = -7.1000 -4.5400 1.2500 6.5000 TS Nguyễn Hoài Sơn 6. Haøm xöû lyù soá (fix, floor, ceil, round, sign, sort…) 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 = 10 0 1000 >> A’ ans = 147 258 3 6 17 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN MATLAB CAÊN BAÛN ƒ “:” coù nghóa laø taát caû. ƒ “:” töø giaù trò naøy tôùi giaù trò khaùc. ƒ “:” töø giaù trò naøy tôùi giaù trò khaùc böôùc bao nhieâu. TS Nguyễn Hoài Sơn >> t = 1:5 t= 12345 >> row = A(1,:) row = 123 >> col = A(:,1) col = 1 4 7 >> 1:0.3:2 ans = 1 1.3000 1.6000 1.9000 >> tt = t(:) tt = 1 2 3 4 5 ƒ Ma traän phöùc. >> b = [4; 5-15*i; -5;2+i]; >> abs(b) ans = 4.0000 15.8114 5.0000 2.2361 >> conj(b) ans = 4.0000 5.0000 +15.0000i -5.0000 2.0000 - 1.0000i >> real(b) ans = 4 5 -5 2 >> imag(b) ans = 0 -15 0 1 >> angle(b) ans = 0 -1.2490 3.1416 0.4636 >> atan2(imag(b),real(b)) ans = 0 -1.2490 3.1416 0.4636 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN ƒ Haøm taïo ma traän ñaëc bieät. ƒ zeros(n) ƒ zeros(m,n) ƒ zeros([m n]) ƒ zeros(size(A)) ƒ ones(n) ƒ ones(m,n) ƒ ones([m n]) ƒ ones(size(A)) ƒ eye(n) ƒ eye(m,n) ƒ eye(size(A)) ƒ pascal ƒ magic ƒ numel(A) ƒ length(A) ƒ rand(m,n) ƒ diag(v,k), diag(v) ƒ tril, triu ƒ linspace(a,b), linspace(a,b,n) ƒ logspace(a,b,n) >> A=zeros(3) A= 0 0 0 0 0 0 0 0 0 >> B=zeros(2,3) B= 0 0 0 0 0 0 >> size(A) ans = 3 3 >> zeros(size(B)) ans = 0 0 0 0 0 0 >> numel(B) ans = 6 >> length(B) ans = 3 >> rand(3,2) ans = 0.9501 0.4860 0.2311 0.8913 0.6068 0.7621 >> C=ones(3) C= 1 1 1 1 1 1 1 1 1 >> D=eye(3) D= 1 0 0 0 1 0 0 0 1 >> eye(3,2) ans = 1 0 0 1 0 0 >> pascal(3) ans = 1 1 1 1 2 3 1 3 6 >> magic(3) ans = 8 1 6 3 5 7 4 9 2 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN MATLAB CAÊN BAÛN >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 TS Nguyễn Hoài Sơ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 9 >> triu(A) ans = 1 2 3 0 5 6 0 0 9 >> tril(A) ans = 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 MATLAB CAÊN BAÛN III. CAÙC PHEÙP TOÙAN TREÂN MA TRAÄN VAØ VECTÔ 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 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 TS Nguyễn Hoài Sơn Pheùp tính >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 >> A(2,3)=10 A= 1 2 3 4 5 10 7 8 9 >> B=A(2,1) B= 4 >> C=[-4 2 3;1 2 1;2 5 6] C= -4 2 3 1 2 1 2 5 6 >> D=[A C] D= 1 2 3 -4 2 3 4 5 10 1 2 1 7 8 9 2 5 6 >> D(5) ans = 5 >> D(4,5) ??? Index exceeds matrix dimensions. >> X=D X= 1 2 3 -4 2 3 4 5 10 1 2 1 7 8 9 2 5 6 >> X(2,6) ans = 1 >> X(2,:) ans = 4 5 10 1 2 1 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN X= 1 4 7 2 3 -4 2 3 5 10 1 2 1 8 9 2 5 6 >> X(:,1) ans = 1 4 7 >> 1:5 ans = 1 2 3 4 5 >> 30:-4:15 ans = 30 26 22 18 >> X(2:3,:) ans = 4 5 10 1 2 7 8 9 2 5 1 6 >> X(:,end) ans = 3 1 6 >> E=X([2 3],[1 3]) E= 4 10 7 9 >> X(2,end) ans = 1. >> X(3,:)=[ ] X= 1 2 3 -4 2 4 5 10 1 2 >> X(:,5)=[3 4] X= 1 2 3 -4 3 4 5 10 1 4 >> X(2,:) ans = 4 5 10 1 2 3 1 3 1 1 TS Nguyễn Hoài Sơn MATLAB CAÊN BAÛN MATLAB CAÊN BAÛN C= -4 1 2 2 2 5 3 1 6 ƒ Ma traän phöùc. TS Nguyễn Hoài Sơ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 1 2 1 4 2 5 6 6 8 4 6 1 >> C=[C ones(4);zeros(4) eye(4)] C= -4 2 3 8 1 1 1 1 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 0 0 0 0 0 0 0 1 MATLAB CAÊN BAÛN ƒ Haøm xöû lyù ma traän vaø vectô (size, median, max, min, mean, sum, length,…) C= -4 1 2 B= 1 2 2 5 3 1 6 5 6 -5 7 2 TS Nguyễn Hoài Sơn >> size(C) ans = 3 3 >> mean(B) ans = 2.6667 >> sum(B) ans = 16 >> min(C) ans = -4 2 1 >> sort(C) ans = -4 2 1 1 2 3 2 5 6 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 x= 7.8571 -3.1905 1.9524 x1 + 3x 2 + 6 x3 = 10 2 x1 + 7 x 2 + 8 x3 = 9 0 x1 + 3x 2 + 9 x3 = 8 2. Heä ñaïi soá tuyeán tính A*x=b , solve >>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 TS Nguyễn Hoài Sơn >>clear all >>clc >>A=[1 3 6;2 7 8;0 3 9]; >>b=[10;9;8]; >>x=inv(A)*b %(x=A\b) MATLAB CAÊN BAÛN 3. Heä ñaïi soá tuyeán tính A*x=b, LU decomposition x1 + 3x 2 + 6 x3 = 10 2 x1 + 7 x 2 + 8 x3 = 9 0 x1 + 3x 2 + 9 x3 = 8 TS Nguyễn Hoài Sơn >> clear all >> clc >> [L,U]=lu(A) L= 0.5000 -0.1667 1.0000 1.0000 0 0 0 1.0000 0 U= 2.0000 7.0000 8.0000 0 3.0000 9.0000 0 0 3.5000 >> x=U\(L\b) x= 7.8571 -3.1905 1.9524 >> x=inv(U)*inv(L)*b x= 7.8571 -3.1905 1.9524
- Xem thêm -