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

GIÁO TRÌNH MATLAB (phụ lục lệnh và hàm)

Chia sẻ: Nguyen Ngoc | Ngày: | Loại File: PDF | Số trang:8

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

Tài liệu tham khảo dành cho giáo viên, học sinh đang trong giai đoạn ôn thi đại học chuyên môn toán học - Tài liệu củng cố và nâng cao khả năng làm trắc nghiệm toán học nhanh.

Chủ đề:
Lưu

Nội dung Text: GIÁO TRÌNH MATLAB (phụ lục lệnh và hàm)

  1. Phụ lục-Lệnh và hàm 152 POLYVALM POLYVALM Æåïc læåüng âa thæïc ma tráûn Nãúu V laì vectå coï caïc pháön tæí laì caïc hãû säú cuía âa thæïc, thç POLYVALM(V,X) laì giaï trë cuía âa thæïc taûi âäúi säú ma tráûn X. Xem POLYVAL våïi caïch tênh âa thæïc trong træåìng håüp âäúi säú thæåìng hoàûc maíng RESIDUE RESIDUE Tênh khai triãøn tæìng pháön hay thàûng dæ [R,P,K] = RESIDUE(B,A) tçm thàûng dæ, cæûc vaì hæåïng cuía khai triãøn tæìng pháön cuía chia âa thæïc, B(s) vaì A(s). Nãúu khäng coï nghiãûm keïp, B(s) R(1) R(2) R(n) ---- = -------- + -------- + ... + -------- + K(s) A(s) s - P(1) s - P(2) s - P(n) Caïc vectå B vaì A laì caïc hãû säú cuía caïc âa thæïc theo luîy thæìa thoaïi cuía s. Thàûng dæ traí vãö trong vectå cäüt R, caïc vë trê cæûc trong vectå cäüt P, vaì caïc hæåïng trong vectå doìng K. Säú caïc cæûc laì n = length(A)-1 = length(R) = length(P) Vectå hãû säú hæåïng laì räùng nãúu length(B) < length(A); ngæåüc laûi thç length(K) = length(B)-length(A)+1 Nãúu P(j) = ... = P(j+m-1) laì mäüt cæûc cuía multplicity m, thç khai triãøn bao gäöm caïc haûng tæí thuäüc daûng R(j) R(j+1) R(j+m- 1) _ -------- + ------------ + ... + -------- ---- s - P(j) (s - P(j))^2 (s - P(j))^m [B,A] = RESIDUE(R,P,K), våïi 3 âäúi säú nháûp vaì 2 âäúi säú xuáút, chuyãøn khai triãøn phán säú tæìng pháön thaình caïc âa thæïc våïi caïc hãû säú trong B vaì A. Khuyãún caïo: Vãö màût säú, khai triãøn phán säú caïc âa thæïc laì biãøu hiãûn cuía mäüt baìi toaïn yãúu. Nãúu âa thæïc thæïc máùu, A(s), gáön âa thæïc coï nghiãûm bäüi, thç caïc thay âäøi nhoí trong säú liãûu, kãø caí sai säú, coï thãø laìm thay âäøi låïn trong caïc cæûc vaì thàûng dæ kãút quaí. Caïc cäng thæïc cuía baìi toaïn laìm cho viãûc duìng caïch biãøu diãùn cæûc träúng hoàûc 0 laì thêch håüp hån POLYFIT POLYFIT Khåïp âæåìng cong âa thæïc POLYFIT(x,y,n) tçm caïc hãû säú cuía âa thæïc p(x) báûc n âãø khåïp säú liãûu, p(x(i)) ~= y(i), theo phæång phaïp bçnh phæång beï nháút [p,S] = POLYFIT(x,y,n) traí vãö caïc hãû säú âa thæïc p vaì ma tráûn S âãø duìng våïi POLYVAL âãø cho ra caïc æåïc læåüng sai säú trong caïc dæû âoaïn. Nãúu caïc sai säú trong säú liãûu, y, âäüc láûp våïi biãún Phan Thanh Tao - 2004
  2. Phụ lục-Lệnh và hàm 153 hàòng, thç POLYVAL seî cho ra caïc giåïi haûn sai säú chæïa êt nháút 50% cuía dæû âoaïn Phan Thanh Tao - 2004
  3. Phụ lục-Lệnh và hàm 154 POLYDER POLYDER Âaûo haìm âa thæïc POLYDER(P) traí vãö âaûo haìm cuía âa thæïc coï caïc hãû säú laì caïc pháön tæí cuía vectå P POLYDER(A,B) traí vãö âaûo haìm cuía âa thæïc A*B. [Q,D] = POLYDER(B,A) traí vãö âaûo haìm cuía âa thæïc thæång B/A, biãøu diãùn thaình Q/D CONV Têch cháûp vaì nhán âa thæïc C = CONV(A, B) têch cháûp caïc vectå A vaì B. Vectå kãút quaí coï âäü daìi LENGTH(A)+LENGTH(B)-1. Nãúu A vaì B laì caïc vectå laì caïc hãû säú cuía âa thæïc, thç têch cháûp chuïng tæång âæång nhán hai âa thæïc DECONV Taïch cháûp vaì chia âa thæïc [Q,R] = DECONV(B,A) taïch cháûp caïc A ra B. Kãút quaí traí vãö trong vectå Q vaì pháön dæ trong vectå R âãø B = conv(Q,A) + R Nãúu A vaì B laì caïc vectå laì caïc hãû säú cuía âa thæïc, thç taïch cháûp tæång âæång våïi chia âa thæïc. Kãút quaí chê B cho A âæåüc thæång Q vaì dæ R Näüi suy säú liãûu INTERP1 INTERP1 näüi suy säú liãûu 1 chiãöu (tra cæïu baíng) YI = INTERP1(X,Y,XI) traí vãö vectå YI chæïa caïc pháön tæí tæång æïng våïi caïc pháön tæí trong XI vaì xaïc âënh båíi pheïp näüi suy bãn trong caïc vectå X vaì Y Pheïp näüi suy cuìng thao taïc nhæ " tra cæïu baíng ". Mä taí trong caïc säú haûng " tra cæïu baíng ", "baíng" laì [X,Y] vaì INTERP1 " caïc tra cæïu" laì caïc pháön tæí cuía XI trong X, vaì, dæûa vaìo caïc vë trê cuía chuïng, caïc giaï trë traí vãö YI näüi suy bãn trong caïc pháön tæí cuía Y INTERP1 thæûc hiãûn xuáút nhiãöu giaï trë tra cæïu baíng nãúu Y laì ma tráûn. Nãúu Y laì ma tráûn coï length(X) doìng, vaì N cäüt, thç INTERP1 traí vãö ma tráûn YI cåî length(XI)xN chæïa nhiãöu kãút quaí xuáút cuía tra cæïu baíng Ngáöm âënh, INTERP1 duìng näüi suy tuyãún tênh YI = INTERP1(X,Y,XI,'method') chè âënh caïc phæång phaïp khaïc Caïc phæång phaïp coï thãø laì: 'linear' - näüi suy tuyãún tênh 'spline' - näüi suy spline láûp phæång 'cubic' - näüi suy láûp phæång Táút caí caïc phæång phaïp näüi suy âoìi hoíi X phaíi laì âån âiãûu. Phæång phaïp láûp phæång 'cubic' cuîng âoìi hoíi caïc âiãøm trong X phaíi caïch âãöu Vê duû, phaït sinh âæåìng cong hçnh sin thä vaì näüi suy trãn mäüt hoaình âäü täút hån: Phan Thanh Tao - 2004
  4. Phụ lục-Lệnh và hàm 155 x = 0:10; y = sin(x); xi = 0:.25:10; yi = interp1(x,y,xi); plot(x,y,'o',xi,yi) INTERP2 INTERP2 näüi suy säú liãûu 2 chiãöu (tra cæïu baíng) ZI = INTERP2(X,Y,Z,XI,YI) traí vãö ma tráûn ZI chæïa caïc pháön tæí tæång æïng våïi caïc pháön tæí cuía XI vaì YI vaì xaïc âënh bàòng pheïp näüi suy bãn trong haìm 2 chiãöu mä taí båíi caïc ma tráûn X, Y, vaì Z. Caïc giaï trë bãn ngoaìi miãön traí vãö NaN. X coï thãø laì mäüt vectå doìng, trong træåìng håüp naìy âæåüc giaí thiãút aïp duûng vaìo caïc cäüt cuía Z. Tæång tæû, Y coï thãø laì vectå cäüt vaì caïc pháön tæí cuía noï âæåüc giaí thiãút aïp duûng qua caïc doìng cuía Z. Pheïp näüi suy cuìng thao taïc nhæ "table lookup". Mä taí trong caïc säú haûng " tra cæïu baíng ", "baíng" laì TAB = [NaN,Y; X,Z] vaì INTERP2 "caïc tra cæïu " laì caïc pháön tæí cuía XI trong X, YI trong Y, vaì, dæûa vaìo vë trê cuía chuïng, caïc giaï trë traí vãö ZI näüi suy bãn trong caïc pháön tæí cuía Z Ngáöm âënh, INTERP2 duìng pheïp näüi suy song tuyãún tênh ZI = INTERP2(X,Y,Z,XI,YI,'method') chè âënh phæång phaïp khaïc Caïc phæång phaïp coï thãø laì: 'linear' or 'bilinear' - näüi suy song tuyãún tênh 'cubic' or 'bicubic' - näüi suy song láûp phæång 'nearest' - näüi suy cáûn gáön nháút Táút caí caïc pheïp näüi suy âãöu âoìi hoíi X vaì Y laì âån âiãûu vaì læåïi vuäng (nãúu chuïng âæåüc taûo ra bàòng caïch duìng MESHGRID). Khoaíng caïch biãún âäøi âæåüc xæí lyï bàòng aïnh xaû caïc giaï trë âaî cho trong X,Y,XI, vaì YI vaìo mäüt miãön giaï trë caïch âãöu træåïc khi näüi suy INTERPFT INTERPFT Näüi suy 1 chiãöu bàòng caïch duìng phæång phaïp FFT (biãún âäøi Fourier nhanh) Y = INTERPFT(X,N) traí vãö vectå Y âäü daìi N nháûn âæåüc bàòng caïch näüi suy trong biãøn âäøi Fourier cuía X. Giaí sæí x(t) laì haìm tuáön hoaìn theo t våïi chu kyì p, taûo máùu tai caïc âiãøm caïch âãöu, X(i) = x(T(i)) våïi T(i) = (i-1)*p/M, i = 1:M, M = length(X). Räöi y(t) laì mäüt haìm tuáön hoaìn khaïc cuìng chu kyì vaì Y(j) = y(T(j)) våïi T(j) = (j-1)*p/N, j = 1:N, N = length(Y). Nãúu N laì mäüt bäüi nguyãn cuía M, thç Y(1:N/M:N) = X Nãúu X laì mäüt ma tráûn, pheïp näüi suy âæåüc thæûc hiãûn theo tæìng cäüt INTERPFT, khäng tham säú, laì mäüt chæång trçnh máùu Phan Thanh Tao - 2004
  5. Phụ lục-Lệnh và hàm 156 GRIDDATA GRIDDATA Læåïi dæî liãûu ZI = GRIDDATA(X,Y,Z,XI,YI) traí vãö ma tráûn ZI chæïa caïc pháön tæí tæång æïng våïi caïc pháön tæí cuía caïc ma tráûn XI vaì YI, vaì âæåüc xaïc âënh bàòng pheïp näüi suy bãn trong haìm 2 chiãöu mä taí båíi caïc vectå (X,Y,Z ) -- thäng thæåìng laì khäng âäöng bäü. XI coï thãø laì vectå doìng, trong træåìng håüp naìy noï chè âënh mäüt ma tráûn våïi caïc cäüt hàòng. Tæång tæû, YI coï thãø laì vectå cäüt vaì noï chè âënh mäüt ma tráûn våïi caïc doìng [XI,YI,ZI] = GRIDDATA(X,Y,Z,XI,YI) traí vãö XI vaì YI taûo nãn caïch naìy, âoï laì giäúng caïc ma tráûn traí vãö båíi MESHGRID. GRIDDATA duìng phæång phaïp khoaíng caïch âaío Näüi suy Spline SPLINE Pheïp näüi suy säú liãûu spline láûp phæång Caïc vectå säú liãûu cho træåïc X vaì Y, vaì mäüt vectå hoaình âäü måïi XI, haìm YI = SPLINE(X,Y,XI) duìng pheïp näüi suy spline láûp phæång âãø tçm vectå YI tæång æïng våïi XI. Âáy laì mäüt vê duû âãø phat sinh âæåìng cong hçnh sin thä, räöi näüi suy trãn mäüt hoaình âäü täút hån: x = 0:10; y = sin(x); xi = 0:.25:10; yi = spline(x,y,xi); plot(x,y,'o',xi,yi) PP = spline(x,y) traí vãö daûng-pp cuía pheïp näüi suy spline láûp phæång, âãø sau âoï duìng våïi ppval, v.v... PPVAL Æåïc læåüng âa thæïc tæìng maính v = ppval(pp,xx) traí vãö giaï trë pp cuía haìm pp taûi xx Haìm vãö xáu chæî STRINGS STRINGS Caïc chuäùi kyï tæû trong MATLAB X = 'Any Ch' laì mäüt vectå coï caïc thaình pháön cuía noï laì maî ASCII cuía caïc kyï tæû. Âäü daìi cuía X laì säú kyï tæû. Mäüt dáúu nhaïy trong chuäùi âæåüc biãøu hiãûn bàòng 2 dáúu nhaïy X = REAL(X) âàût vectå vaìo maî ASCII daûng tháûp phán. X = SETSTR(X) âàût ngæåüc laûi mäüt chuäùi. ISSTR(X) kiãøm tra X laì mäüt biãún chuäùi Vaìo lãûnh "help strfun" cho danh saïch caïc haìm xæí lyï chuäùi ABS Láúy giaï trë tuyãût âäúi vaì chuyãøn chuäùi sang säú Phan Thanh Tao - 2004
  6. Phụ lục-Lệnh và hàm 157 ABS(X) laì giaï trë tuyãût âäúi cuía caïc pháön tæí cuía X. Nãúu X phæïc thç ABS(X) laì mäâun cuía caïc pháön tæí cuía X. Nãúu S laì biãún chuäùi MATLAB thç ABS(S) traí vãö caïc giaï trë säú ASCII tháûp phán cuía caïc kyï tæû trong chuäùi. Khäng thay âäùi biãøu hiãûn bãn trong maì chè thay âäøi caïch in ra SETSTR Xem caïc giaï trë säú laì chuäùi X = SETSTR(X) coï thãø duìng cho caïc vectå chæïa caïc säú nguyãn tæì 0 âãún 255 âãø biãøu hiãûn maî ASCII cho vàn baín. Haìm traí vãö vectå âæåüc hiãøn thë nhæ vàn baín chæï khäng laì caïc säú nguyãn ISSTR Âuïng nãúu laì chuäùi ISSTR(S) traí vãö 1 nãúu laì chuäùi vàn baín, ngæåüc laûi traí vãö 0 BLANKS Mäüt chuäùi gäöm caïc kyï tæû träúng BLANKS(n) laì mäüt chuäùi gäöm n kyï tæû träúng. Duìng våïi DISP, nhæ DISP(['x' BLANKS(20) 'y']) DISP(BLANKS(n)') di chuyãøn con troí xuäúng n doìng DEBLANK DEBLANK Xoïa caïc kyï tæû träúng åí cuäúi mäüt chuäùi DEBLANK(S) Xoïa caïc kyï tæû träúng åí cuäúi mäüt chuäùi vaì moüi kyï tæû null trong chuäùi S. Kyï tæû null laì mäüt kyï tæû coï trë tuyãût âäúi bàòng 0 STR2MAT STR2MAT Taûo daûng ma tráûn vàn baín tæì caïc chuäùi riãng biãût S = STR2MAT(T1,T2,T3,..) taûo ma tráûn S chæïa caïc chuäùi vàn baín T1,T2,T3,... laì caïc doìng. Tæû âäüng thãm mäùi chuäùi caïc kyï tæû träúng nhàòm taûo ra mäüt ma tráûn håüp lyï. Coï thãø duìng âãún 10 chuäùi âãø taûo S. Mäùi tham säú vàn baín, Ti, coï thãø chênh noï laì mäüt ma tráûn chuäùi. Caïch naìy cho pheïp taûo ra caïc ma tráûn chuäùi låïn tuìy yï EVAL Thæûc hiãûn chuäùi chæïa biãøu thæïc MATLAB EVAL(s), våïi s laì mäüt chuäùi, laìm cho MATLAB thæûc hiãûn nhæ mäüt biãøu thæïc hoàûc mäüt lãûnh EVAL(s1,s2) cung cáúp khaí nàng bàõt läùi. Noï thæûc hiãûn s1 vaì traí vãö nãúu thao taïc thaình cäng. Nãúu thao taïc bë läùi thç s2 âæåüc æåïc læåüng træåïc khi traí vãö. Nghé nhæ lãûnh EVAL('try','catch') [X,Y,Z,...] = EVAL(s) traí vãö caïc âäúi säú xuáút tæì biãøu thæïc trong chuäùi s. Caïc chuäùi nháûp vaìo EVAL thæåìng âæåüc taûo ra bàòng caïch näúi caïc chuäùi con vaì caïc biãún bãn trong càûp ngoàûc vuäng. Vê duû: Phaït sinh mäüt daîy ma tráûn coï tãn tæì M1 âãún M12: Phan Thanh Tao - 2004
  7. Phụ lục-Lệnh và hàm 158 for n = 1:12 , eval(['M' num2str(n) ' = magic(n)']) , end Chaûy mäüt tãûp M-file nguyãn baín. Caïc chuäùi taûo nãn caïc doìng cuía ma tráûn D phaíi cuìng âäü daìi D = ['odedemo ' 'quaddemo' 'fitdemo ']; n = input('Select a demo number: '); eval(D(n,:)) Âoüc vaì xæí lyï caïc tãûp data1.dat, data2.dat, ... k = 0; while 1 k = k+1; datak = ['data' int2str(k)]; filename = [datak '.dat']; if ~exist(filename), break, end eval(['load ' filename]); X = eval(datak); % Xæí lyï dæî liãûu trong ma tráûn X end STRCMP So saïnh chuäùi STRCMP(S1,S2) traí vãö 1 nãúu S1 vaì S2 giäúng nhau vaì ngæåüc laûi thç traí vãöì 0 FINDSTR FINDSTR Tçm mäüt chuäùi trong chuäùi khaïc K = FINDSTR(S1,S2) traí vãö caïc chè säú bàõt âáöu cuía moüi xuáút hiãûn S2 trong S1 Vê duû: s = 'How much wood would a woodchuck chuck?'; findstr(s,'a') traí vãö 21 findstr(s,'wood') traí vãö [10 23] findstr(s,'Wood') traí vãö [] findstr(s,' ') traí vãö [4 9 14 20 22 32] UPPER Chuyãøn chuäùi sang chæî hoa A = upper(a) chuyãøn moüi kyï tæû thæåìng trong A thaình kyï tæû hoa tæång æïng, caïc kyï tæû khaïc khäng thay âäøi LOWER Chuyãøn chuäùi sang chæî thæåìng b = lower(A) chuyãøn moüi kyï tæû hoa trong A thaình kyï tæû thæåìng tæång æïng, caïc kyï tæû khaïc khäng thay âäøi ISLETTER ISLETTER âuïng nãúu laì chæî caïi Våïi mäüt chuäùi S, thç ISLETTER(S) laì 1 cho caïc chæî caïi, coìn laûi laì 0 ISSPACE Phan Thanh Tao - 2004
  8. Phụ lục-Lệnh và hàm 159 ISSPACE âuïng nãúu laì kyï tæû träúng, sang doìng, vãö âáöu doìng, tab, tab âæïng, hay sang trang. Våïi chuäùi S, thç ISSPACE(S) laì1 cho caïc kyï tæû träúng vaì 0 cho kyï tæû khaïc STRREP STRREP tçm vaì thay thãú chuäùi S = STRREP(S1,S2,S3) thay thãú S2 trong S1 våïi chuäùi måïi S3 Vê duû: s1='This is a good example'; strrep(s1,'good','great') traí vãö 'This is a great example' strrep(s1,'bad','great') traí vãö 'This is a good example' strrep(s1,'','great') traí vãö 'This is a good example' STRTOK Tçm dáúu hiãûu trong chuäùi (dáúu hiãûu laì kyï tæû khäng laì chæî caïi hay säú) STRTOK(S,D) traí vãö dáúu hiãûu âáöu tiãn trong S âæåüc âaïnh dáúu båíi D. Noï cuîng coï caïc traí vãö tuìy choün laì pháön coìn laûi cuía chuäùi gäúc. D laì mäüt maíng caïc kyï tæû dáúu hiãûu. Nãúu khäng cho dáúu hiãûu thç giaí thiãút laì kyï tæû träúng NUM2STR NUM2STR Chuyãøn säú sang chuäùi T = NUM2STR(X) chuyãøn säú vä hæåïng X sang chuäùi biãøu hiãûn trong T våïi khoaíng 4 chæî säú vaì coï mäüt pháön muî nãúu cáön. Haìm naìy thæåìng duìng âãø âaïnh nhaîn trong caïc hçnh veî våïi caïc lãûnh TITLE, XLABEL, YLABEL vaì TEXT. Mäüt âäúi säú tuìy choün coï thãø cho âãø biãøu hiãûn mäüt âäü chênh xaïc thay âäøi T = NUM2STR(X,PREC) chuyãøn säú vä hæåïng X sang chuäùi våïi mäüt âäü chênh xaïc täúi âa chè âënh båíi PREC Phan Thanh Tao - 2004
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
12=>0