MATLAB ỨNG DỤNG - TS. NGUYỄN HÒAI SƠN
lượt xem 31
download
MATLAB CANN BẢN I. BIỂU THỨC (EXPRESSION) Biến số ( variables) Số (Numbers) Toán tử ( Operaters) Hàm ( Functions) - tối đa 19 ký tự có nghĩa - phân biệt giữa chữ hoa và chữ thường. - bắt đầu bằng một từ theo sau là từ hay số hoặc dấu (_). - biến tòan cục (global) tác dụng trong tòan chương trình. - biến cục bộ (local) tác dụng trong nội tại hàm (function) - một số biến đặc biệt: pi, ans,… Biến (Variables) Kiểm tra biến (who và whos) Xóa biến (clear và clear all) Ví dụ clear a clear b degree a undefined function or variable...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: MATLAB ỨNG DỤNG - TS. NGUYỄN HÒAI SƠN
- 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
- Chöông 1 MATLAB CAÊN BAÛN TS Nguyễn Hoài Sơ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) - 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn