Matlab lµ mét ng«n ng÷ lËp tr×nh thùc hµnh bËc cao ®îc sö dông ®Ó gi¶i c¸c bµi to¸n vÒ kü thuËt.Matlab tÝch hîp ®îc viÖc tÝnh to¸n, thÓ hiÖn kÕt qu¶, cho phÐp lËp tr×nh, giao diÖn lµm viÖc rÊt dÔ dµng cho ngêi sö dông. D÷ liÖu cïng víi th viÖn ®îc lËp tr×nh s½n cho phÐp ngêi sö dông cã thÓ cã ®îc nh÷ng øng dông sau ®©y. • Sö dông c¸c hµm cã s½n trong th viÖn, c¸c phÐp tÝnh to¸n häc th«ng thêng • Cho phÐp lËp tr×nh t¹o ra nh÷ng øng dông míi. • Cho phÐp m« pháng c¸c m« h×nh thùc tÕ. • Ph©n tÝch, kh¶o s¸t vµ hiÓn thÞ d÷ liÖu. • Víi phÇn mÒm ®å ho¹ cùc m¹nh • Cho phÐp ph¸t triÓn,giao tiÕp víi mét sè phÇn mÒm kh¸c nh C++, Fortran.
Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Ch¬ng C¬ së Matlab 1.1 Tỉng quan vỊ Matlab 1.1.1 Kh¸i niƯm Matlab Matlab ngôn ngữ lập trình thực hành bậc cao đợc sử dụng để giải toán kỹ thuật.Matlab tích hợp đợc việc tính toán, thể kết quả, cho phép lập trình, giao diện làm việc dễ dàng cho ngời sử dụng Dữ liệu với th viện đợc lập trình sẵn cho phép ngời sử dụng có đợc ứng dụng sau Sử dụng hàm có sẵn th viện, phép tính toán học thông thờng Cho phép lập trình tạo ứng dụng Cho phép mô mô hình thực tế Phân tích, khảo sát hiển thị liệu Với phần mềm đồ hoạ cực mạnh Cho phép phát triển,giao tiếp với số phần mềm kh¸c nh C+ +, Fortran 1.1.2 Tỉng quan vỊ cÊu trúc liệu MATLAB, ứng dụng Matlab hệ thống tơng giao,các phần tử liệu mảng( mảng không đòi hỏi kích thớc ) Chúng cho phép giải vấn đề liên quan đến lập trình máy tính,đặc biệt sử dụng phép tính ma trận hay véc tor sử dụng ngôn ngữ C học Fortran lập trình thực ứng dụng lập trình câu lệnh goị từ MATLAB MATLAB đợc viết tắt từ chữ matrix laboratory tức th viện ma trận, từ phần mềm MATLAB đợc viết nhằm cung cấp cho việc truy cập vào phần mềm ma trận cáh dễ dàng, phần mềm ma trận đợc phát triển công trình Linpack Eispack Ngày MATLAB đợc phát triển Lapack Artpack tạo nên nghệ thuật phần mềm cho ma trận a.Dữ liệu Dữ liệu MATLAB thể dới dạng ma trận( mảng tổng quát), có kiểu liệu đợc liệt kê sau Kiểu đơn single , kiểu có lợi nhớ liệu đòi hỏi byte nhớ hơn, kiểu liệu không đợc sử dụng phép tính toán học, độ xác Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 KiÓu double kiểu kiểu thông dụng biến MATLAB KiÓu Sparse KiÓu int8, uint8, int16 KiĨu char vÝ dơ ‘Hello’ KiĨu cell KiĨu Structure Trong MATLAB kiĨu d÷ liƯu double kiểu mặc định sử dụng phép tính số học Các bạn tham khảo kiểu liệu khác đĩa CD Help MATLAB 6.0 b ứng dụng MATLAB tạo điều kiện thuận lợi cho: C¸c kho¸ häc vỊ to¸n häc C¸c kü s, nhà nghiên cứu khoa học Dùng MATLAB để tính toán ,nghiên cứu tạo sản phẩm tốt sản xuất c.Toolbox công cụ quan trọng Matlab Công cụ đợc MATLAB cung cấp cho phép bạn ứng dụng kỹ thuật để phân tích, thiết kế , mô mô hình Ta tìm thấy toolbox mô trờng làm việc Mạng nơron Logic mê Simulink 1.1.3 HÖ thèng MATLAB HÖ thèng giao diện MATLAB đợc chia thành phần Môi trờng phát triển Đây nơi đặt công cụ, phơng tiện giúp sử dụng lệnh file, ta liệt kê sè nh sau + Desktop + Command Window + Command History + Browsers for viewinghelp Th viện, hàm to¸n häc Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Bao gåm c¸c cÊu tróc nh tÝnh tỉng, sin cosin atan, atan2 etc , phép tính đơn giản đến phép tính phức tạp nh tính ma trận nghich đảo, trị riêng, chuyển đổi furier ,laplace , symbolic library Ngôn ngữ MATLAB Đó ngôn ngữ cao ma trận mảng, với dòng lệnh, hàm, cấu trúc liệu vào , lập trình hớng đối tợng Đồ hoạ MATLAB Bao gồm câu lệnh thể đồ hạo môi trờng 2D 3D, tạo hình ảnh chuyển động, cung cấp giao diện tơng tác ngời sử dụng máy tính Giao tiếp với ngôn ngữ khác MATLAB cho phép tơng tác với ngôn ngữ khác nh C , Fortran 1.1.4 Làm quen với matlab Trớc tiên để khởi động MATLAB bạn kích đúp (hoặc đơn) biểu tợng file MATLAB.exe ,trên hình xuất cửa sổ sau.( Xem hình vẽ 1.1 ) Cửa sổ chứa công cụ( giao diện ngời máy) cần thiết cho việc quản lý c¸c files, c¸c biÕn ,cưa sỉ lƯnh, cã thĨ coi desktop panel gồm ô, vùng, quản lý tác dụng cửa sổ nhỏ đợc qu¶n lý bëi desktop Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Hình vẽ 1.1 Trên hình vẽ ta thấy cửa sổ desktop(cửa sổ lớn nhất), cửa sổ phụ 1.1.5 Làm việc với cửa sổ MATLAB đợc quản lý desktop a Cửa sỉ Command window : Lµ cưa sỉ giao tiÕp chÝnh Matlab nơi nhập giá trị biến, hiển thị giá trị,tính toán giá trị biểu thức, thực thi hàm có sẵn th viện (dạng lệnh), hàm(dạng function) ngời dùng lập trình M-files Các lệnh đợc đợc nhập sau dấu nhắc >> , có sai sót trình gõ(nhập) lệnh hÃy nhấn phím Enter nhận đợc dấu nhắc >> Thực thi lƯnh b»ng nhÊn phÝm Enter Gâ c¸c lƯnh sau: >> A= pi/2 ; >> B= sin(A) Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 B= Hoặc chơng trình soạn thảo M-file dới đây: % Chuong trinh M-file x= 0:pi/6:2*pi; y=sin(x); I.plot(x,y); II % chuong trinh đợc lu với tên file III IV thực thi chơng trình Command window dòng lệnh sau >> ve_sin cưa sỉ Chóng ta thÊy râ h¬n mơc “ Sư dơng lƯnh trùc tiÕp “ ë phÇn sau b Cửa sổ command History Các dòng mà bạn nhập vào cửa sổ Command window ( dòng dòng nhập biến ,hoặc dòng lệnh thực hàm ) đợc giữ lại cưa sỉ Command History ,vµ cưa sỉ nµy cho phép ta sử dụng lại lệnh cách kích đôi chuột lên lệnh biến, nh bạn muốn sử dụng lại biến Xem hình 1.2 Kích đôi chuột lên lênh biến để sử dụng lại Hình 1.2 c Cửa sổ Workspace: Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Lµ cưa sổ thể tên biến bạn sử dụng với kích thơc vùng nhớ(số bytes), kiểu liệu(lớp) ,các biến đợc giải phóng sau lần tắt chơng trình.(xem hình 1.3) Kích đôi chuột lên biến để xem liệu(ho Yêu ặc thay đổi giá trị) Hình 1.3 Ngoài cho phép thay đổi giá tri , nh kích thớc biến cách kích đôi chuột lên biến Hoặc kích vào nút bên trái cạnh nút save Ví dụ chọn biến(giả thử biến b) kích đúp(hoặc kích chuột vào nút cạnh nút save) ta đơc cửa sổ sau gọi Array Editor: xem hình 1.4 Tiêu đề tên biến b , định dạng liệu ô có tên là: Numeric format, mặc định dạng short, Kích thớc size lµ by (tøc lµ mét hµng vµ cột) ta thay đổi kích thớc cách thay đổi số có ô kích thớc size + Dùng cửa sổ để lu biến dới liệu biến b, ta thay đổi chúng cách thay đổi giá trị ô Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 H×nh 1.4 VÝ dơ NhËp biÕn >>b=[1 ]; >>x=pi; Tất biến đợc lu Workspace thể kích thớc (Size), số Bytes kiểu liệu(class) (8 bytes cho phần tử liệu kiểu double cụ thể 24 bytes dµnh cho b vµ bytes dµnh cho a) d Cửa sổ M-file Là cửa sổ dùng để soạn thảo chơng trình ứng dụng, để thực thi chơng trình viết M-file cách gõ tên file chứa chơng trình cửa sổ Commandwindow Khi chơng trình viết M-file, tuỳ theo ứng dụng cụ thể, tuỳ theo ngời lập trình mà chơng trình cã thĨ viÕt díi d¹ng sau +D¹ng Script file :Tøc chơng trình gồm tập hợp câu lệnh viết dới dạng liệt kê ,không có biến liệu vào biến lấy giá trị +Dạng hàm function có biến liệu vào biến e Đờng dẫn th mục: Nơi lu giữ file chơng trình 1.2 NhËp biÕn,lƯnh trùc tiÕp tõ cưa sỉ Command Window: Sau xt hiƯn dÊu nh¾c >> cưa sỉ command window điều đồng nghĩa cho phép bạn nhập biến thực câu lệnh mong muốn Do liệu MATLAB đợc thể dới dạng matrận biến dùng MATLAB liệu thể dới dạng ma trận, việc đặt tên biến không đợc đặt cáh tuỳ tiện mà phải đặt theo quy định Tên ma trận(biến) phải bắt đầu chữ cái, chứa đến 19 ký tự số chữ Bên phải dấu giá trị ma trận Dấu chấm phẩy(; )là để phân cách hàng, giá trị hàng đợc phân cách dấu phẩy(,) dấu cách( phím space) Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 KÕt thóc nhập ma trận thờng có dấu chấm phẩy không tuỳ theo bạn muốn thể kết hay không a Nhập biến, matrận, lệnh liệt kê trực tiếp Thông thờng Matlab sử dụng vị trí sau dấu phẩy cho số thập phân có dấu phẩy chấm động, sử dụng biến ans “ cho kÕt qu¶ cđa phÐp tÝnh Ta cã thĨ đăng ký biến thể kết riêng Xét tập lệnh sau: Ví dụ trờng hợp không sử dụng biến lu kết quả, biến ans tự động đợc gán >> 8+9 ans = 17 Nhập biÕn r = 8/10 cưa sỉ CommandWindow nh sau: >> r = 8/10 r=0.8000 B¹n cã thĨ sư dơng biến cho phép tính ví dô nh: >> s=10*r s= VÝ dô nhËp trùc >> a=[1 2;3 a = tiÕp c¸c sè liệu nh sau 4] Matlab có hàng trăm hàm đợc định nghĩa sẵn ví dụ nh hàm tính sin >> x=pi; >> sin(x) %nhËp biÕn x % nhËp lƯnh sin(x), Ên enter ®Ĩ thùc hiƯn lƯnh tÝnh sin(x) ans = 1.2246e-016 + C¸c phÐp tÝnh sư dơng Matlab : Trong MATLAB cịng sư dơng c¸c phÐp toán thông thờng đợc liệt kê bảngsau Ký tự + ý nghÜa LÖnh Matlab Céng a + a+b Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 * b Trõ a - b a-b Nh©n a*b / ab Chia phải a/b a b Chia trái b/a a b Mũ a^b a^2 a/b= \ b\a = ^ Thø tù u tiên phép toán: Tất biểu thức toán học đợc thực từ trái qua phải, ta có bảng thứ tự u tiên nh sau: Thứ tự u tiên Các phép Dấu ngoặc biểu thøc To¸n tư mị ^ , thùc thi tõ tr¸i qua phải Toán tử nhân, chia có mức u tiên,thực từ trái sang phải Cộng , trõ VÝ dô1 : >> a=[1 2;3 4]; >> b=[5 6;7 8]; >> a+b^2 ans = 68 80 94 110 Ví dụ2 Giải phơng trình bậc hai, lệnh nhËp cđa sỉ CommandWindow >>a= 1; >>b=-2; >>c=1; >>delta= b^2- 4*a*c; >>x1=(-b+ sqrt(delta) )/(4*a); >>x2=(-b- sqrt(delta) )/(4*a); Trang Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Chó ý : + Các lệnh đợc kết thúc dấu chấm phẩy, Matlab kết hình, ngợc lại dấu chấm phẩy Matlab thể kết + Trong trình nhập ma trận phần tử hàng dài ta xuống dòng toán tử ba chấm( ) VÝ dô >>Number_apples=10;Number_Oranges=25,Number_bananas=34; >>Fruit_Purchased= Number_apples+ Number_Oranges+ Number_bananas 1.3 Sư dơng c¸c lƯnh gi¸n tiÕp tõ c¸c file liệu Nh đà trình bày phần cửa sổ M-file, tập hợp lệnh MATLAB đợc soạn thảo cửa sổ M-file dới dạng Script file dạng hàm function(có biến đầu vào ra), đợc ghi (lu)vào file liệu có phần mở rộng m (Thông thờng chơng trình soạn thảo M-file thờng đợc lu theo đờng dẫn C:\matlabR12\ work\Tên_file ), muốn thực thi chơng trình soạn thảo ta gọi lệnh cửa sổ Commandwindow, tuỳ theo chơng trình viết dạng Script file hay function mµ cưa sỉ ta cã cách gọi nh sau: Đối với chơng trình viết dạng Script file >> tên_file ; Ví dụ giải phơng trình bậc hai tìm nghiệm x1 x2 viết M-file d¹ng Scriptfile: a=1; b=-2; c=1; delta=b^2-4*a*c; x1=(-b+sqrt(delta))/(4*a) x2=(-b-sqrt(delta))/(4*a) % lu vào file GPTB2.m Thực thi chơng trình cưa sỉ CommandWindow b»ng lƯnh >>GPTB2 §èi víi chơng trình viết dạng function ,có tham số đầu vào ra,ta phải truyền đủ tham số cần thiết Trang 10 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Thân chơng trình không khoá Begin không kết thúc từ khoá End nh Ngôn ngữ lập trình Pascal Ta nên lu vào file có tên trùng với tên hàm Ví dụ: Cho sơ ®å khèi cđa hƯ thèng ®iỊu khiĨn tù ®éng nh hình dới u () num den num1 den1 y NhiƯm vơ: TÝnh hµm trun kÝn cđa hƯ thống Chơng trình đợc viết nh sau: function[numk, denk]=ham_truyen(num1, den1, num2, den2) numh=conv(num1, num2);% conv hàm nhân, hàm đợc định nghĩa sẵn denh=conv(den1,den2); numk=numh; m=length(denh)- length(numh); numh1=[zeros(:,m), numh]; denk= numh1+denh; %kết thúc chơng trình bạn nên lu vào file có tên ham_truyen Thực thi hµm: >> num1=[1 1]; >>den1=[1 1]; >>num2=[1 2]; >>den2=[1 4]; >>[numk,denk]=ham_truyen(num1,den1,num2,den2); 1.6 Sư dơng hµm cã sẵn Có nhiều hàm có sẵn, hàm đà đợc lập trình sẵn,và đợc đa vào th viện, để xem hàm nh cấu trúc, cách sử dụng ta dùng lệnh >>help tên_hàm Ví dụ Ta mn xem cÊu tróc hµm ode23 Trang 13 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >>help ode23 1.7 VÏ c¸c hàm Dùng lệnh fplot để vẽ hàm, hàm cã thĨ cã s½n(vÝ dơ nh sin, cos ), hàm tạo ngời dùng viết M-file dạng function Cấu trúc: fplot(Tên_hàm,[Xmin ,Xmax] ,tol,N,LineSpec);hoặc Lu ý:Đối với hàm toán học có sẵn(không phải định nghĩa) vÝ dơ nh sin, cos , th× cã thĨ thùc hiÖn nh sau: + fplot(‘sin(x)’,2*pi*[-1 1] ) %vÏ y=sin(x) víi x=[-2*pi 2*pi]; + fplot([sin(x),tan(x),cos(x)]’, 2*pi*[-1 1] ); %vÏ ba đồ thị cửa sổ với x=[-2*pi 2*pi] ; Dïng hµm inline vÝ dơ : f=inline(‘x+2’); fplot(f,[0 2] ); Đối với hàm M-file có thĨ sư dơng c¸c c¸ch sau VÝ dơ: TÝnh f1, f2, f3 function [f1,f2,f3]= FUNC(x) f1= x+3; f2=x; f3=x.^2; %lu vào file Hàm FUNC trả vector hàng ứng với giá trị x, ví dụ x=[x1;x2] hàm FUNC trả ma trận sau f1(x1) ,f2(x1), f3(x1) f1(x2) ,f2(x2), f3(x2) Lợi dụng đặc điểm ta vẽ nhiều đồ thị cửa sổ thông qua ví dụ sau: %Tạo hàm Y function Y=myfun(x) Y(:,1)=200*sin(x(:))./ (x(:); Y(:,2)=x(:).^2; Thực thi chơng trình trªn Commandwindow Trang 14 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 >>fplot( ‘myfun’,[-20 20] ); (hc dïng >>fplot(@myfun ,[-20 20] ) Các thông số tol, N , LineSpec lần lựot sai số liên quan(tơng đối), số điểm nhất, biểu diễn thuộc tính đờng Chú ý:Khi bạn muốn hạn chế khoảng biểu diễn trục x y th× dïng [Xmin Xmax Ymin Ymax] 1.8 Lu lấy liệu Với Matlab thoát khỏi chơng trình(tắt),các biến liệu(trongWorkspace) bị mất,do thực lại chơng trình bạn phải khai báo lại biến cần thiết trên, điều gây thời gian, biện pháp tốt bạn lu tất biến cần thiết cho chơng trình bạn vào file riêng, cần gọi chúng lệnh Lu liệu : Lu tất biến vùng làm việc( Workspace) Một số biến định tuỳ theo nhu cầu Sau cách lu biến liệu: 1.8.1 Lu lấy liệu dới file nhi phân(binary) Lu liệu: >>save('C:\matlabR12\work\ten_file') %lu toàn biến Workspace >>save('C:\matlabR12\work\ten_file', 'x','y')% chØ lu biÕn x vµ y Chú ý: C:\matlabR12\work\ten_file đờng dẫn tới file, thông thờng cài đặt chơng trình mặc định cài vào ổ C (nếu bạn cài vào ổ D, sử dụng lệnh save, bạn cần thay đổi thành :D:\matlabR12\work\ten_file) VÝ dô: %ViÕt Command Window >>a=1; >>b=1; >>c=-2; Khôi phục lại liệu dùng lệnh sau: load ('C:\matlabR12\work\ten_file') % lÊy d÷ liƯu Trang 15 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Ví dụ: Bây ta xoá hai biến a b khỏi chơng trình thực lệnh load để lấy lại liệu: >>clear a ; %xo¸ biÕn a >>clear b ; %xo¸ biÕn b >> load ('C:\matlabR12\work\ten_fil e') >>a %kiĨm tra xem a ®· khôi phục lại cha 1.8.2 Lu lấy liệu díi file ASCII >>save('C:\matlabR12\work\ten_file','-ASCII') Lu toµn bé biÕn workspace vµo file >>save('C:\matlabR12\work\ten_file','x','y','-ASCII') Lu hai biÕn x vµ y vµo file >>load ('C:\matlabR12\work\ten_file', '-ASCII ') thùc hiƯn lƯnh nµy Workspace xuất biến có tên tên file , kích đúp chuột lên biến xuất liệu toàn biến đợc lu giữ, việc truy nhập đến biến lu giữ thông qua viƯc truy nhËp kiĨu MatrËn VÝ dơ Command window >>a=2; >>b=3; >>c=4; >>save('C:\matlabR12\work\ save')%lu biÕn file tªn save >> load('C:\matlabR12\work\ save')%khôi phục liệu >> save('C:\matlabR12\work\ save', 'a','b')%lu hai biến a b file %tên save Tơng tự: >>a=3; >>b=4; >>save('C:\matlabR12\work\save','a','b','-ASCII') >>load('C:\matlabR12\work\save','-ASCII') %khôi phục liÖu Trang 16 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trong workspace sÏ cã biÕn save nh sau: KÝch ®óp vào save xuất liệu hai biến a b Hoặc đơn giản để lu biến bạn cã thĨ chän biÕn råi kÝch vµo nót save cửa sổ Workspace 1.9 Các toán tử logic lệnh điều kiện 1.9.1 Các toán tử quan hệ Một biểu thức logic MATLAB có đợc từ so sánh đại lợng khác nhau(ví dụ hai đại lợng A B) Những ký hiệu thể so sánh đợc gọi toán tử quan hệ , sau liệt kê toán tử Bảng liệt kê toán tử quan hệ Toán tử quan hệ < > = == ~= ý nghÜa Nhá h¬n vd AB Nhỏ A=B Bằng vd A==B Không b»ng vd A~=B C¸c to¸n tư quan hƯ thùc hiƯn việc só sánh phần tử mảng, chúng trả lại mảng có kích thớc với hai mảng trên( hai mảng ban đầu phải có kích thớc không gây lỗi),với phần tử mảng tơng ứng với quan hệ so sánh sai hay Trang 17 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Trờng hợp đặc biệt so s¸nh hai sè phøc: + Khi dïng c¸c to¸n tử quan hệ < > so sánh phần thực mà + Khi dùng toán tử quan hệ = so sánh phần thực lẫn phần ảo Khi so sánh hai chuỗi Dùng toán tử strcmp Cấu trúc: strcmp( chuỗi1, chuỗi2) Ví dụ : >>Chuoi1= Pham Duc Dai; >>Chuoi2=’Vu van van’; >>ss=strcmp(Chuoi1, Chuoi2); ss=0 Chó ý : Khi so sánh số vô hóng với ma trận số đợc nhân với m trạn ones(size(ma trËn so s¸nh)) cho nã cã kÝch thíc gièng với ma trận cần so sánh so sánh VÝ dô: X=5; X>=[1 ; 6; 9] X=5*ones(3,3); X>[1 ; 6; 9] KÕt qu¶ tr¶ vỊ : ans= 1 1 0 0 >>X=5; >>X >=[1 ; 6; 9] ans 1 1 1.9.2 C¸c to¸n tư logic (Logical Operator & | ~) Trang 18 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 CÊu trúc: Toán tử logic & | ý nghĩa Và vd A&B Hoặc vd A| B ~ Đảo vd ~A Các ký hiệu & , | ,~ toán tử logic đảo Chúng thực phần tử của mảng so sánh( toán tử logic cho phép thực nhiều mảng với yêu cầu mảng phải có kích thớc), kết trả ma trận có kích thớc với ma trạn so sánh Các toán tử logic thờng dùng để liên kết biểu thức quan hệ Bảng chân lý: A 0 1 Mức u tiên Đầu vào And Or B A&B A|B 0 1 0 1 1 cao toán tử logic đảo( Xor Not xor(A,B) ~A 1 1 0 not ,~) , hai toán tử and | cã cïng møc u tiªn , mét biĨu thøc toán học chúng đợc thực theo thứ tự từ trái sang phải Ta sử dụng to¸n tư ‘and’ , ‘or’ ,’not’ & , | , ~ nh b¶ng sau: A&B and(A,B) A|B or(A,B) ~A not(A) Chó ý c¸c biĨu thøc sư dơng c¸c toán tử locgic ta nên dùng dấu ngoặc để xác định rõ ràng ,và đảm bảo tính tơng thích phiên Matlab Tổng kết: Các phép tính số học đợc thực trớc thùc hiƯn c¸c biĨu thøc logic Khi tÝnh toán ta nên thêm dấu ngoặc đơn để làm biểu thức trở nên sáng sủa Gặp biểu thức phức tạp sử lý tính toán số học trớc, sau toán tử logic đợc xem xét từ trái qua phải 1.10 Các câu lệnh ®iỊu kiƯn, rÏ nh¸nh Trang 19 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 1.10.1 Câu lệnh điều kiện if Cấu trúc % Đây cấu trúc đơn giản if expression Statements; end; % CÊu tróc sư dơng lƯnh elseif ,else if đợc viết liền if expression1 Statements; elseif expression2 Statement; else Statements; end BiÓu thøc expression bao gåm toán tử quan hệ ví dụ nh (count0 ), Ngoài kết hợp với toán tử logic để liên kết biểu thức quan hƯ VÝ dơ 1: if (count0) VÝ dơ 2: Cho khoảng [a b], viết chơng trình chia khoảng thành n kho¶ng b»ng víi n cho tríc function v= lnearspace(a,b,n) if n0 s=1; % so duong elseif x> [u,v]=Main(x,y,z); 1.10.6 Định dạng liệu Các phép tính MATLAB đợc thực với độ xác cao, ta định dạng cho số xuất hình tuỳ yêu cầu cụ thĨ: VÝ dơ sè a= 4/3 víi format short (đây chế độ mặc định gồm số sau dÊu phÈy) a=1.3333 format short e a= 1.3333e+00 format long a=1.3333333333333 format lang e a=1.3333333333333e+000 Ngoài cách ta định dạng liệu tool công cụ hình Ví dụ: Gõ lệnh sau cưa sỉ CommandWindow >>format long >>a=4/3 Trang 24 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 a= 1.3333333333333 1.10.7 Một số hàm toán học thông thờng hay sử dụng Tên hàm Sin Cos Tan Asin Acos Atan Angle Fix Floor ý nghÜa Hµm sin Hµm cos Hµm tan Hµm acsin Hµm accos Hµm tÝnh arctg LÊy gãc pha Lµm tròn hớng Làm tròn hờng Exp Ceil - Hàm e mũ Làm tròn hớng Log log10 - Logarit số e Logarit số sqrt(x) 10 Căn bậc hai 1.11 Các số đợc sử dụng Matlab Ký tù inf thay thÕ cho to¸n häc Inf : số vô lớn mà Matlab đợc ví dụ: >> 5/0 ans = inf Ký tù NaN thay thÕ cho mét sè kh«ng xác định ví dụ: >> 0/0 ans= NaN Ký tù pi Ký tù eps thĨ hiƯn lµ sè =3.14159 1.12 Sè phøc Matlab Trang 25 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Sư dơng i vµ j để thể phần ảo với i= j= sqrt(-1) VÝ dô: >> 5+6i ans = 5.0000 + 6.0000i >> 5+6j ans = 5.0000 + 6.0000i Chó ý lµm với số phức cần phân biệt : y= 7/2*i x= 7/2i cho hai kết khác >> y= 7/2*i y = 3.5*i >> x=7/2i x= -3.5i VÝ dô c¸c phÐp tÝnh vỊ sè phøc: >> s=3+7i >>w=5-9i >>w+s >>w-s >>w*s >>w/s 1.13 Các lệnh thoát khỏi chơng trình,liệt kê biến, xoá biến Lệnh exit : Tác dụng thoát khỏi chơng trình Lệnh clc (clear command) xoá tất lệnh cửa sổ CommandWindow Lệnh clear xoá toàn biến bé nhí hiƯn thêi LƯnh clear Xoá danh sách biến đợc liệt kê whos cho biết tất biến thời, kích thớc ô nhí LƯnh biÕn ®ã LƯnh quit cịng gièng nh lÖnh exit Trang 26 Tungvn40@yahoo.com CM Soft 70 NCT F2 Q10 Các phím mũi tên lên xuống (trên bàn phím) đợc dùng để gọi lại lệnh đà thực trớc Câu hỏi& Bài tập cuối chơng Nêu đặc điểm cửa sổ ( CommandWindow, history ) Sư dơng LƯnh trùc tiÕp tõ cưa sổ command window gián tiếp từ file Các câu lệnh điều kiện , vòng lặp Lu lấy liệu cho nhiều biến Bài tập1 : Giải hệ phơng trình bậc dùng dòng nhắc gán giá trị biên nhập hệ số a,b,c,d,m,n hƯ cho nh sau: ax +by=m cx+dy=n Bµi tËp 2: Sinh viên vẽ hàm sau a Vẽ đặc tính điode với quan hệ dòng điện điện áp ®iode nh sau i=I0*(exp(40*v)-1)(A); I0=1.E-6; vector v=[-10:0.005:0.8] Sinh viªn thùc hiƯn theo hai c¸ch viÕt trùc tiÕp CommadWindow viết hàm M-file b Vẽ hàm b¶n sin(x) ,cos(x) ,tan(x) dïng lƯnh fplot c Vẽ hàm y= sin(x)/x , y=x, y=sin(x) đồ thị Bài tập3 : Lu tất biến bạn đà dùng trình thực hành vào file riêng mình, để lần sau lấy dùng lại Bài 4:Lập chơng trình dạng hàm function để giải phơng trình bậc hai Bài 5:Lập hàm tính hàm truyền kín sơ đồ hệ thống điều khiển sách lý thuyết điều khiển tự động Bài 5:Lập hàm function [Q, R]=divide (a,b) tìm thơng số chia hai số a vµ b Trang 27 ... y=sin(x) đồ thị Bài tập3 : Lu tất biến bạn đà dùng trình thực hành vào file riêng mình, để lần sau lấy dùng lại Bài 4:Lập chơng trình dạng hàm function để giải phơng trình bậc hai Bài 5:Lập hàm... vòng lặp Lu lấy liệu cho nhiều biến Bài tập1 : Giải hệ phơng trình bậc dùng dòng nhắc gán giá trị biên nhập hệ số a,b,c,d,m,n hệ cho nh sau: ax +by=m cx+dy=n Bài tập 2: Sinh viên vẽ hàm sau a Vẽ... Lệnh return cho phép quay trở thực thi lệnh nằm tác dụng cđa lƯnh return 1.10.6 BiÕn toµn cơc BiÕn toµn cơc đợc dùng phạm vi toàn chơng trình, chơng trình khai báo biến toàn cục ®ã CÊu tróc: Trang