1 Phần 1 Ngôn ngữ lập trình Matlab Bài 1. Giới thiệu phần mềm Matlab 1.1 Matlab là gì? Ch-ơng trình MATLAB là một ch-ơng trình viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kĩ thuật với các phần tử cơ bản là ma trận trên máy tính cá nhân do công ty "The MATHWORKS" viết ra. Thuật ngữ MATLAB có đ-ợc là do hai từ MATRIX và LABORATORY ghép lại. Ch-ơng trình này hiện đang đ-ợc sử dụng nhiều trong nghiên cứu các vấn đề tính toán của các bài toán kĩ thuật nh-: Lý thuyết điều khiển tự động, kĩ thuật thống kê xác suất, xử lý số các tín hiệu, phân tích dữ liệu, dự báo chuổi quan sát, v.v Matlab đ-ợc điều khiển bởi tập các bộ lệnh, t-ơng tác bằng bàn phím trên cửa sổ điều khiển, đồng thời Matlab còn cho phép khả năng lập trình với cú pháp thông dịch lệnh hay còn gọi là script file. Các lệnh, bộ lệnh của Matlab lên đến con số hàng trăm và ngày càng đ-ợc mở rộng bởi các phần Tools box trợ giúp, hay các hàm ứng dụng tạo ra bởi ng-ời sử dụng. Các lệnh của Matlab rất mạnh và hiệu quả cho phép giải các loại hình toán khác nhau và đặc biệt hiệu quả cho các hệ ph-ơng trình tuyến tính cũng nh- thao tác trên các bài toán ma trận. Khônng những thế Matlab còn rấtt hữu hiệu trong việc trợ giúp thao tác và truy xuất đồ hoạ trong không gian 2D cũng nh- 3D cũng khả năng tạo hoạt cảnh cho việc mô tả bài toán một cách sinh động. Cùng với trên 25 Tools box (th- viện trợ giúp) khác nhau Matlab đ-a đến cho ng-ời sử dụng sự lựa chọn hoàn chỉnh và phong phú về các công cụ trợ giúp đắc lực cho những lĩnh vực khác nhau trên con đ-ờng nghiên cứu đã lựa chọn. 1.2 Môi tr-ờng làm việc của Matlab Matlab là ch-ơng trình phần mềm trợ giúp cho việc tính toán và hiển thị. Matlab có thể chạy trên hầu hết các hệ máy tính từ máy tính cá nhân đến các hệ máy tính lớn super computer. MATLAB 5.1, 5.2, 6.5 7.0 hoạt động trong môi tr-ờng WINDOWS. Ch-ơng trình Matlab có thể chạy liên kết với các ch-ơng trình ngôn ngữ cấp cao nh- C, C++, Fortran, Việc cài đặt MATLAB thật dễ dàng và ta cần chú ý việc dùng thêm vào các th- viện trợ giúp hay muốn liên kết phần mềm này với một vài ngôn ngữ cấp cao. 1.2.1. Mn hình Matlab Sau khi khởi động màn hình Matlab có giao diện nh- trên hình: 2 Cưa sỉ th- mơc hiƯn t¹i Current Directory Browser (1): gióp ng-êi sư dơng cã thĨ nhanh chãng nhËn biÕt, chun ®ỉi th- mơc hiƯn t¹i cđa m«i tr-êng c«ng t¸c, më file, t¹o th- mơc míi. Cưa sỉ Command Windows (2): §©y lµ cưa sỉ chÝnh cđa Matlab. T¹i ®©y ta thùc hiƯn toµn bé c«ng viƯc nhËp d÷ liƯu vµ xt kÕt qu¶ tÝnh to¸n. dÊu nhÊp nh¸y >> b¸o hiƯu ch-¬ng tr×nh s½n sµng ho¹t ®éng. Cưa sỉ Command history (3): L-u tr÷ tÊt c¶ c¸c lƯnh ®· thùc hiƯn trong cưa sỉ Comman Windows(2) cã thĨ lỈp l¹i lƯnh cò b»ng c¸ch nh¸y kÐp cht vµo lƯnh ®ã. Còng cã thĨ c¾t, sao hc xo¸ c¶ nhãm lƯnh hc tõng lƯnh riªng rÏ. Cưa sỉ Workspace browser (4): TÊt c¶ c¸c biÕn, c¸c hµm tån t¹i trong m«i tr-êng c«ng t¸c ®Ịu ®-ỵc hiƯn t¹i cưa sỉ nµy. Cưa sỉ Editor : so¹n th¶o ch-¬ng tr×nh Ngoµi ra cßn cã Cưa sỉ trỵ gióp Help rÊt phong phó gióp ng-êi sư dơng trong qu¸ tr×nh tÝnh to¸n. B»ng c©u lƯnh Help [command] Các phím chức năng đặt biệt (chuyên dùng) và các lệnh dùng cho hệ thống: Ctrl + P hoặc Gọi lại lệnh vừa thực hiện trước đó từ của sổ lệnh của MATLAB Ctrl + n hoặc Gọi lại lệnh đã đánh vào trước đó Ctrl + f hoặc Chuyển con trỏ sang phải một kí tự Ctrl + b hoặc Chuyển con trỏ sang trái một kí tự. Ctrl + l hoặc Ctrl + Chuyển con trỏ sang phải một từ Ctrl + r hoặc Ctrl + Chuyển con trỏ sang trái một từ Ctrl + a hoặc HOME Chuyển con trỏ về đầu dòng. Ctrl + k Xoá cho đến dòng cuối cùng 3 Các lệnh hệ thống : Các lệnh trên cũng như sau này được viết từ cửa sổ lệnh của MATLAB Casesen off Bỏ thuộc tính phân biệt chữ hoa và chữ thường Casesen on Sử dụng thuộc tính chữ hoa và chữ thường. clc Xóa cửa sổ dòng lệnh clf Xó cửa sổ đồ họa computer Lệnh in ra một xâu kí tự cho biệt loại máy tính. exit hoặc quit Thoát khỏi chương trình MATLAB Ctrl + C Dừng chương trình khi nó rơi vào tình trạng lặp không kết thúc Help Xem trợ giúp Input Nhập dữ liệu từ bàn phím. Load Tải các biến đã lưu trong một file đưa vào vùng làm việc. Pause Ngừng tạm thời chương trình. Save Lưu giữ các biến vào file có tên là matlab.mat Demo Lệnh cho phép xem các chương trình mẫu (minh họa khả năng làm việc của MATLAB). Edit Lệnh để vào cửa sổ soạn thảo (dùng để viết một chương trình) 1.2.2. C¸c tƯp trong Matlab + TƯp *. m: TƯp so¹n th¶o ch-¬ng tr×nh Scrippts, hµm function, l-u tr÷ sè liƯu + TƯp *.mat: TƯp l-u tr÷ sè liƯu (ë cưa sỉ Workspace ) >> save ; >> load *.mat + TƯp *.fig: tƯp l-u tr÷ c¸c tƯp ®å ho¹ + TƯp *.mdl : TƯp s¬ ®å khèi Simulink 1.3 §å ho¹ trong Matlab MATLAB cã c¸c c«ng cơ hÕt søc h÷u hiƯu ®Ĩ hiĨn thÞ c¸c vÐc t¬ vµ ma trËn ë d¹ng ®å thÞ còng nh- viƯc chó thÝch vµ in Ên ®å thÞ nµy mét c¸ch trùc quan. 1.4 LËp tr×nh øng dơng trong Matlab Matlab lµ mét phÇn mỊm rÊt ®-ỵc -a chng cho c¸c lËp tr×nh tÝnh to¸n trong kü tht hiƯn nay. Nã hÇu nh- ®-ỵc phỉ biÕn réng kh¾p trong c¸c tr-êng ®¹i häc ë nhiỊu n-íc.Víi Matlab c«ng viƯc tÝnh to¸n trë nªn ®¬n gi¶n vµ nhĐ nhµng h¬n so víi nhiỊu ng«n ng÷ lËp tr×nh kh¸c nhê ®· thiÕt kÕ s½n c¸c toolbox gióp cho ng-êi sư dơng: Control System Tollbox: lµ nỊn t¶ng cđa hä toolbox thiÕt kÕ ®iỊu khiĨn b»ng Matlab. Nã chøa c¸c hµn cho viƯc m« pháng, ph©n tÝch vµ thiÕt kÕ c¸c hƯ thèng trong tù ®éng ®iỊu khiĨn. Frequency Domain System Identification Tollbox: Bao gåm c¸c M -file gióp cho viƯc m« pháng c¸c hƯ thèng tun tÝnh trªn c¬ së phÐp ®o ®¸p øng tÇn sè cđa hƯ thèng. 4 Fuzzy Logic Tollbox: Cung cấp một tập hợp đầy đủ các công cụ cho việc thiết kế, mô phỏng và phân tích các hệ thống logic mờ (Fuzzy Inferencs). Higher Order Spectral Analysis Toolbox: cung cấp các công cụ cho việc xử lý tín hiệu dùng phổ bậc cao. Các ph-ơng này đặc biệt hữu dụng cho phân tích các tín hiệu có nguồn gốc từ một quá trình phi tuyến hay bị nhiễu phi Gaussian ( non-Gaussian noise) xâm nhập. Image Processing Toolbox: chứa các công cụ cho việc sử lý ảnh. Nó bao gồm các công cụ cho việc thiết kế các bộ lọc và l-u trữ ảnh, nâng cấp ảnh, phân tích và thống kê. Model Predictive Control Tollbox: đặc biệt hữu dụng cho các ứng dụng điều khiển với nhiều biến ngõ vào (input) và ngõ ra (output) mà phần lớn có các giới hạn nhất là trog kỹ thuật hóa chất. Mu-Analysis And Syntheris Tollbox: chứa các công cụ chuyên môn hóa cho điều khiển tối -u hóa; Đặc biệt trong lĩnh vực robot cao cấp và các hệ thống đa biến tuyến tính. Signal Processing Tollbox: chứa các công cụ xử lý tín hiệu. Các ứng dụng bao gồm: Audio (Đĩa compact, băng digital), video (digital HDTV, xử lý và nén ảnh), viễn thông (fax, telephone), y học, địa lý. Non-linear Control Design Tollbox: cho phép thiết kế các hệ thống điều khiển tuyến tính và phi tuyến, sử dụng kỹ thuật tối -u hóa trên cơ sở miền thời gian. Optimization Tollbox: Các lệnh dùng cho sự tối -u hóa các hàm tuyến tính và phi tuyến tổng quát. Symbolic Match Toolbox: Bao gồm các công cụ cho việc tính toán trên các biểu thức. System Identification Toolbox: Tập hợp các công cụ cho -ớc l-ợng và nhận dạng (tìm mô hình toán học cho một hệ thống vật lý). Robust Control System: Các công cụ cho phép phân tích và tổng hợp các hệ thống điều khiển bằng robot. Simulink: Mô phỏng động học tuyến tính và phi tuyến Ngoài ra còn có các toolbox khác nh- NAG Foundation Toolbox, Quantitative Feedback Workshop, Spline Toolbox, Statics Toolbox. Một khả năng khác cần phải nhắc đến của Matlab là biểu diễn data bằng đồ thị hai chiều, ba chiều bằng các lệnh (hàm) khá đơn giản. 5 Bài 2: Xử lý dữ liệu dạng mảng trong Matlab và các ứng dụng I. Các ph-ơng pháp tạo mảng dữ liệu 1. Ph-ơng pháp nhập trực tiếp từ bàn phím 1.1. Các nguyên tắc chung Các phần tử của mảng đ-ợc bao trong dấu ngoặc vuông: [ ] Các phần tử trên một hàng đ-ợc cách nhau bằng dấu cách (b-ớc trống) Các cột đ-ợc phân cách bằng dấu ; hoặc dấu Enter 1.2 Các ví dụ Nếu ta gõ : C=[3.5 4.3 5.0], ta sẽ nhận đ-ợc véc tơ hàng có ba phần tử là 3.5, 4.3 và 5.0 và trên màn hình của Matlab sẽ hiện ra: C = 3.5000 4.3000 5.0000 Nếu ta nhập vào: V=[3.5; 4.3; 5.0] , hoặc V=[3.5000 4.3000 5.0000] Ta sẽ nhận đ-ợc véc tơ cột có ba phần tử là 3.5, 4.3 và 5.0 và trên màn hình của matlab sẽ hiện ra: V = 3.5000 4.3000 5.0000 Câu lệnh : M=[1 3 4;5 3 7;2 1 4] Sẽ cho kết quả ma trận 3 hàng, 3 cột M = 1 3 4 5 3 7 2 1 4 Chú ý: Các phần tử trong mỗi hàng khi nhập vào phải nh- nhau 2. Dùng toán tử " : " Cú pháp: <Tên biến>=<Begin>: <Step>: <Limit> Sẽ tạo ra véc tơ hàng có phần tử đầu tiên là giá trị <Begin>, gia số giữa các phần tử là <Step>, giá trị phần tử cuối cùng không v-ợt quá <Limit> Chú ý : Nếu bỏ qua trị số của <Step>, máy sẽ nhận gia số =1 Ví dụ: Nếu nhập vào sau dấu nhắc dòng lệnh Y=1:2:10 6 Ta nhận đ-ợc véc tơ hàng: Y = 1 3 5 7 9 Nếu nhập vào sau dấu nhắc dòng lệnh: Y=1:9 Ta nhận đ-ợc véc tơ: Y = 1 2 3 4 5 6 7 8 9 3. Dùng hàm linspace và logspace: Cú pháp: <tên biến>=linspace(<MinVal>, <MaxVal>, <Num>) Hàm sẽ tạo ra véc tơ hàng có số phần tử bằng <Num>, gia số giữa các phần tử nh- nhau và bằng (MaxVal-MinVal)/(Num-1), phần tử đầu tiên có giá trị bằng MinVal, phần tử cuối cùng có giá trị bằng MaxVal Ví dụ: Dùng hàm : linspace(1,11,6) Ta nhận đ-ợc véc tơ ans = 1 3 5 7 9 11 ứng dụng: Hàm linspace rất tiện dụng trong việc xác định véc tơ các giá trị trên trục hoành khi vẽ đồ thị Hàm logspace Có cú pháp t-ơng tự nh- hàm linspace, tuy nhiên các phần tử biến thiên theo quy luật hàm số mũ với gia số của các số mũ tăng đều và bằng: (MaxVal-MinVal)/(Num-1). Ví dụ : logspace(1,6,6) Sẽ cho kết quả: ans = 10 100 1000 10000 100000 1000000 4. Sử dụng các mảng chuẩn 4.1: Ma trận có các phần tử bằng 0 ứng dụng: Ma trận có các phần tử bằng 0 th-ờng dùng trong các tr-ờng hợp sau: Dùng làm ma trận mồi trong phép tính tổng nhiều ma trận (dùng vòng lặp) Dùng để tạo ma trận có nhiều phần tử bằng 0 rất th-ờng gặp trong kỹ thuật Sử dụng hàm zeros: Cú pháp : <Tên biến>=zeros(<RowNum>, <ColumnNum>) Tạo ra ma trận với các phần tử 0, có số hàng là <RowNum>, số cột là <ColumnNum>. Ví dụ: Hàm M=zeros(2,3) Sẽ cho kết quả M = 7 0 0 0 0 0 0 4.2: Ma trận có các phần tử bằng 1 ứng dụng: Ma trận có các phần tử bằng 1 th-ờng dùng trong các tr-ờng hợp sau: Dùng làm ma trận mồi trong phép tính tích các phần tử t-ơng ứng của nhiều ma trận (dùng vòng lặp) Dùng để tạo ma trận có các phần tử bằng nhau (dùng khi thực hiện phép tính cộng hoặc trừ từng phần tử của ma trận với cùng một số). Sử dụng hàm ones: Cú pháp : <Tên biến>=ones (<RowNum>, <ColumnNum>) Tạo ra ma trận với các phần tử 1, có số hàng là <RowNum>, số cột là <ColumnNum>. Ví dụ: Ví dụ: M=ones(3,4) Sẽ cho kết quả M = 1 1 1 1 1 1 1 1 1 1 1 1 M=3.5*ones(3,2) Sẽ cho kết quả M = 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 4.3: Ma trận đơn vị Để tạo ma trận đơn vị, ta dùng hàm eye; Cú pháp : <Tên biến>=eye(<RowNum>, <ColumnNum>); hoặc <Tên biến>=eye(<Size>) Cú pháp thứ nhất sẽ tạo ra ma trận đơn vị chữ nhật, có số hàng bằng <RowNum> và số cột bằng <ColumnNum>. Cú pháp thứ hai sẽ tạo ra ma trận đơn vị có số hàng bằng số cột bằng <Size> Ví dụ: I=eye(3,4) Sẽ tạo ra ma trận I = 1 0 0 0 0 1 0 0 0 0 1 0 I=eye(4) Sẽ tạo ra ma trận 8 I = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 4.4 Tạo các mảng đ-ờng chéo, ứng dụng: Mảng đ-ờng chéo th-ờng gặp ở các ma trận độ cứng và ma trận khối l-ợng trong tính toán bền Dùng hàm diag Cú pháp : <tên biến>=diag(v) <tên biến>=diag(v,n) ở đây: V là một véc tơ hàng, hoặc cột. hoặc có thể là ma trận n là số nguyên chỉ đ-ờng chéo nào của ma trận sẽ đặt các phần tử của véc tơ V. Nếu V là một véc tơ, hàm sẽ cho kết quả là ma trận vuông có các phần tử trên đ-ờng chéo chỉ định là các phần tử của véc tơ V Nếu V là một ma trận, sẽ trả kết quả là véc tơ cột của các phần tử nằm trên đ-ờng chéo của ma trận V Nếu không chỉ ra n, các phần tử của V sẽ nằm trên đ-ờng chéo chính Ví dụ: V=[1 3 5 3]; M=diag(V) Sẽ cho kết quả M = 1 0 0 0 0 3 0 0 0 0 5 0 0 0 0 3 M=diag(V,1) Sẽ cho kết quả M = 0 1 0 0 0 0 0 3 0 0 0 0 0 5 0 0 0 0 0 3 0 0 0 0 0 M=diag(V,-1) Cho kết quả M = 0 0 0 0 0 9 1 0 0 0 0 0 3 0 0 0 0 0 5 0 0 0 0 0 3 0 V=[3 4 6;5 6 7;8 9 6]; M=diag(V) Cho kết quả: M = 3 6 6 4.5. Mảng các số ngẫu nhiên ứng dụng: Mảng các số ngẫu nhiên dùng nhiều trong đồ hoạ hoặc tạo các nhiễu trong mô phỏng và sử lý số liêụ thực nghiệm Sử dụng lệnh rand: <tên biến>= rand(số hàng, số cột) Tạo ra mảng các số ngẫu nhiên với số hàng, cột chỉ định 4.6. Mảng tạo từ tệp Nếu ta ghi các mảng trong một tệp dạng m.file (theo đúng quy cách tạo mảng trong Matlab nh- trình bày ở trên), ta hoàn toàn có thể gọi mảng vào môi tr-ờng làm việc của Matlab bằng cách nhập tên của m.file sau dấu nhắc của Matlab và ấn Enter. Điều này rất thuận tiện khi ta dữ liệu dạng mảng đ-ợc xuất ra từ một ch-ơng trình tính toán khác II. Tham chiếu tới các phần tử của mảng, tạo các mảng con 1. Nguyên tắc tham chiếu tới các phần tử của mảng Để tham chiếu đến một phần tử của mảng, ta cần chỉ ra chỉ số hàng và cột của phần tử (đặt trong dấu ngoặc đơn) Ví dụ: để tham chiếu đến phần tử nằm ở hàng số 2 và cột số 3 của ma trận M ta viết M(2,3) Để tham chiếu đến một nhóm các phần tử của mảng, thay cho việc chỉ ra chính xác chỉ số của phần tử nh- trên ta phải chỉ ra đ-ợc mảng các chỉ số của các phần tử cần tham chiếu tới Ví dụ: M1= M([1 2],[3 2]) sẽ cho ta một ma trận mới: M1= M 1,3 M 1,2 M 2,3 M 2,2 Dấu : để chỉ toàn bộ các chỉ số của hàng và cột Ví dụ M1=M(:,1) 10 sẽ cho ra véc tơ bao gồm các phần tử trên cột thứ nhất của ma trận M M1=M(2,:) sẽ cho ra véc tơ bao gồm các phần tử trên hàng thứ hai của ma trận M Từ khoá end là chỉ số cuối cùng của hàng hoặc cột của mảng Ví dụ: M1=M([2 4],[3:end]) Sẽ tạo ra ma trận M1 từ hàng 2 và 4 của ma trận M, mỗi hàng lấy ra từ phần tử thứ 3 đến phần tử cuối cùng 2. các ứng dụng của việc truy cập các phần tử của mảng 2.1. Lấy các phần tử của mảng ra để tính toán Ví dụ: S=V(2)^2+V(5)^2 Sẽ tính tổng bình ph-ơng các giá trị của phần tử thứ 2 và thứ 5 của véc tơ V S=M(1,2)-M(2,3) Sẽ tìm ra hiệu của hai phần tử ở hàng 1 cột 2 và hàng 2 cột 3 của ma trận M 2.2. Thay đổi giá trị của từng phần tử của mảng Ví dụ: Để tạo ra ma trận 030 000 001 M , ta thực hiện theo các b-ớc sau: Tạo ma trận với các phần tử 0: M=zeros(3,3); Sau đó gán lại các phần tử khác 0 của ma trận: M(1,1)=1;M(3,2)=3; 2.3. Tạo các mảng con từ mảng cơ sở Ví dụ: Để lấy ra hàng đầu tiên của ma trận M ta dùng lệnh: V=M(1,:) Để tạo ra véc tơ mới bằng cách bỏ đi phần tử đầu tiên của véc tơ V, ta dùng lệnh: V1=V(2:end); 2.4. Loại bỏ bớt các phần tử của mảng: Để loại bỏ các phần tử khỏi mảng ta chỉ cần gán giá trị của các phần tử cần loại trị số rỗng: "[ ]" Ví dụ: nếu ta có ma trận M = 2 3 4 5 3 7 3 2 8 Sau khi dùng phép gán: M(:,1)=[ ] Ta nhận đ-ợc: M = 3 4 3 7 [...]... 1 z = diff(x,2) z= 0 0 0 32 Bài 4: Lập trình ứng dụng trong Matlab I Các loại dữ liệu dùng trong Matlab 1 Dữ liệu số MATLAB sử dụ chếđ ghi số thậ phâ thô th- ng vớ tuỳ chọ vềchếđ ghi số chữ số ng ộ p n ng ờ i n ộ sau dấ phả và dấ +, - tr- c giá trịsố (xem lệ format) Bê cạ chếđ ghi số thậ phâ u y u ớ nh n nh ộ p n thô th- ng, ta cóthểdù kiể ghi sửdụ chữcá e đ xá đ nh sốmũcơsố10 Phầ ả củ ng ờ ng u ng... p=zeros(5,1);p(1)=-Q/2*A(1); Ak=A(2:5);Ck=C(1:4); %% Thiế lậ ma trậ hệsố t p n M=diag(Ak,-1)+diag(Bk)+diag(Ck,1); %% Tí toá cá phả lự nh n c n c X=inv(M)*p Bài 3: Các công cụ toán học thông th-ờng của Matlab I Các công cụ xử lý đa thức 1 Đị nghĩ đa thức trong MATLAB nh a - Malab sử dụng mộ vé tơ hàng đểđị nghĩ các hệsố của đa thức t c nh a Sốphầ tửcủ vé tơbằ sốbậ củ đ thứ +1 (ví đ thứ bậ 3 có4 hệsố n a c... triệ ờ u c spline(t,p,2000) Sửsụ hà spline bậ 3 đ ngoạ suy vàdựđ n dâ sốnă 2000 kế quảsẽlà ng m c ể i oá n m t : ans = 270.6060 III Tối -u các hàm số 1 Xây dựng các hàm ng-ời dùng trong Matlab 1.1 Một số nguyê tắc cơ bản n 25 Tê củ hà vàtê củ M-file cầ phả trù nhau n a m n a n i ng Tê củ hà cóthểchứ tớ 31 kýtự khô cókhoả trố vàbắ đ u bằ chữcá n a m a i , ng ng ng t ầ ng i Dò đ u tiê củ hà cầ bắ... (global variable) Khi đnh nghĩ biế tổ thể(dù lệ global) nh- ch- gá giá trị cá biế nà có giá trị ị a n ng ng nh ng a n , c n y bằ 0 ng Nế trong mô tr- ng là việ củ matlab có mộ biế trù tê vớ biế tổ thể mà ta đ nh u i ờ m c a t n ng n i n ng ị nghĩ Matlab sẽđ a ra lờ cả bá vàđ a giátrị n thờ củ biế nố kế vớ biế tổ thể a, i nh o hiệ i a n i t i n ng Chúý Hã dù hà clear global đ xoácá biế tổ thểkhỏ... a ng n c m ế i c nh-sau: years = 1950:10:1990; service = 10:10:30; wage = [150.697 199.592 187.625 179.323 195.072 250.287 203.212 179.092 322.767 226.505 153.706 426.730 249.633 120.281 598.243]; Từ cơ sở dữ liệ nà ta có thểxá đ nh đ ợ tiề l- ng củ cô nhâ ở nă 1975 vớ 15 nă u y c ị -c n ơ a ng n m i m phụ vụ c : w = interp2(service,years,wage,15,1975) w = 190.6287 2.2 Sử dụng hàm meshgrid Tạ ra ma... làmộ và thí vềdữliệ sốhợ lệ c -c m n u i c ớ â t i dụ u p cóthểdù trong Matlab: ng 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Tấ cảcá sốđ ợ l- trữởbộnhớtrong vàsử dụ đ nh dạ dà (có 16 chữsố sau dấ phả t c -c u ng ị ng i u y) -308 +308 vàgiátrị i hạ nằ trong khoả từ10 to 10 giớ n m ng Cá hằ sốth- ng đ ợ sửdụ trong Matlab c ng ờ -c ng pi 3.14159265 i Đơ vị o, -1 n ả j Đơ vị o (t- ng... bắ đ u bằ từ khoáfunction, sau đ là cá biế chứ kế quả ng ầ n a m n t ầ ng ó c n a t đ a ra củ hà tê hà vàcá biế chứ dữliệ nhậ và a m, n m c n a u p o Cá dò h- ng dẫ (sẽ đ ợ hiệ ra khi dù lệ help trong matlab) đ ợ đ a và ngay c ng ớ n -c n ng nh -c - o sau dò đ u tiê ởcộ thứnhấ cầ códấ % ng ầ n, t t n u Tấ cảcá dò lệ tiế theo tạ thâ củ hà cá lệ trong thâ hà sẽsử dụ dữ liệ t c ng nh p o n a m, c nh n... c t m o 1.2 Biế cục bộ và biế tổng thể n n Đểđnh nghĩ biế tổ thểta dù lệ global ị a n ng ng nh Cúphá p: global X Y Z Môtả global X Y Z đnh nghĩ X, Y, vàZ làcá biế tổ thể ị a c n ng Thô th- ng mỗ hà củ Matlab, đ ợ đ nh nghĩ bở tệ M-file, có cá biế cụ bộ nhữ ng ờ i m a -c ị a i p c n c , ng biế nà tá rờ vớ cá hà khá (có nghĩ làtrong cá hà khá khô thểgọ ra giátrịcủ n y ch i i c m c a c m c ng i a cá biế... n+1 phầ tử đ thứ códạ c ng a c a a c, u a n , a c ng: Chú ý: hà ng- c củ roots là hà poly: P=poly(r) sẽ đ a ra vé tơ hệ số củ đ thứ có m ợ a m c a a c nghiệ làvé tơr m c 18 Thídụ: Đa thứ đ ợ môtảtrong Matlab bằ vé tơ: c -c ng c p = [1 -6 -72 -27] Nghiệ củ đ thứ đ ợ xá đnh bằ lệ m a a c -c c ị ng nh: r = roots(p) r= 12.1229 -5.7345 -0.3884 2.2 Cộng (trừ ) các đa thức Cộ trừtrự tiế cá hệsố cá đ thứ phả... nghiệ củ ph- ng trì X3-2X-5=0 ởgầ đ m x=2 m m a ơ nh n iể Tr- c hế ta phả viế mộ M.file đnh nghĩ hà f: ớ t i t t ị a m function y = f(x) y = x.^3-2*x-5; Đểxá đnh nghiệ gầ x=2 ta gọ lệ sau trong mô tr- ng Matlab: c ị m n i nh i ờ z = fzero('f',2) z= 2.0946 Chú ý: hà fzero xá đ nh đ m màtạ đ đ thịhà sốcầ khả sá cắ trụ hoà khô phả làkhi m c ị iể i ó ồ m n o t t c nh, ng i đ thị p xú vớ trụ hoà ồ tiế c i c . 1 Phần 1 Ngôn ngữ lập trình Matlab Bài 1. Giới thiệu phần mềm Matlab 1.1 Matlab là gì? Ch-ơng trình MATLAB là một ch-ơng trình viết cho máy tính PC nhằm hỗ trợ. các bài toán ma trận. Khônng những thế Matlab còn rấtt hữu hiệu trong việc trợ giúp thao tác và truy xuất đồ hoạ trong không gian 2D cũng nh- 3D cũng khả năng tạo hoạt cảnh cho việc mô tả bài. đ-ờng nghiên cứu đã lựa chọn. 1.2 Môi tr-ờng làm việc của Matlab Matlab là ch-ơng trình phần mềm trợ giúp cho việc tính toán và hiển thị. Matlab có thể chạy trên hầu hết các hệ máy tính từ máy