1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổng quan về cấu trúc dữ liệu của MATLAB, các ứng dụng

138 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Tổng quan về cấu trúc dữ liệu của MATLAB, các ứng dụng Ch-ơng 1 Cơ sở Matlab 1.1 Tổng quan về Matlab 1.1.1 Khái niệm về Matlab 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. 1.1.2 Tổng quan về cấu trúc dữ liệu của MATLAB, các ứng dụng Matlab là một hệ thống t-ơng giao,các phần tử dữ liệu là một mảng( mảng này không đòi hỏi về kích th-ớc ). Chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính,đặc biệt sử dụng các phép tính về ma trận hay véc tor và có thể sử dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh goị từ MATLAB .MATLAB đ-ợc viết tắt từ chữ matrix laboratory tức là th- viện về 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 một cáh dễ dàng, phần mềm ma trận này đ-ợc phát triển bởi các công trình Linpack và Eispack . Ngày nay MATLAB đ-ợc phát triển bởi Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma trận. a.Dữ liệu Dữ liệu của MATLAB thể hiện d-ới dạng ma trận( hoặc mảng –tổng quát), và có các kiểu dữ liệu đ-ợc liệt kê sau đây • Kiểu đơn single , kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ hơn, kiểu dữ liệu này không đ-ợc sử dụng trong các phép tính toán học, độ chính xác kém hơn • Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong MATLAB • Kiểu Sparse. • Kiểu int8, uint8, int16 . . . Ch-ơng 1 Cơ sở Matlab 1.1 Tổng quan về Matlab 1.1.1 Khái niệm về Matlab 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. 1.1.2 Tổng quan về cấu trúc dữ liệu của MATLAB, các ứng dụng Matlab là một hệ thống t-ơng giao,các phần tử dữ liệu là một mảng( mảng này không đòi hỏi về kích th-ớc ). Chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính,đặc biệt sử dụng các phép tính về ma trận hay véc tor và có thể sử dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh goị từ MATLAB .MATLAB đ-ợc viết tắt từ chữ matrix laboratory tức là th- viện về 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 một cáh dễ dàng, phần mềm ma trận này đ-ợc phát triển bởi các công trình Linpack và Eispack . Ngày nay MATLAB đ-ợc phát triển bởi Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma trận. a.Dữ liệu Dữ liệu của MATLAB thể hiện d-ới dạng ma trận( hoặc mảng –tổng quát), và có các kiểu dữ liệu đ-ợc liệt kê sau đây • Kiểu đơn single , kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ hơn, kiểu dữ liệu này không đ-ợc sử dụng trong các phép tính toán học, độ chính xác kém hơn • Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong MATLAB • Kiểu Sparse. • Kiểu int8, uint8, int16 . . .

Pikachu – Vietdown.org Ch−¬ng C¬ së Matlab 1.1 Tỉng quan vỊ Matlab 1.1.1 Kh¸i niƯm vỊ Matlab Matlab lμ ngôn ngữ lập trình thực hnh bậc cao đợc sử dụng để giải bi 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 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ó đợc ứng dụng sau ã Sử dụng hm 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 v 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 d÷ liƯu cđa MATLAB, ứng dụng Matlab l hệ thống tơng giao,các phần tử liệu l mảng( mảng ny 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 vμ cã thĨ 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 l 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 vo phần mềm ma trận cáh dễ dng, phần mềm ma trận ny đợc phát triển công trình Linpack v Eispack Ngy MATLAB đợc phát triển Lapack v 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), v có kiểu liệu đợc liệt kê sau ã Kiểu đơn single , kiểu ny có lợi nhớ liệu đòi hỏi byte nhớ hơn, kiểu liệu ny không đợc sử dụng phép tính toán học, độ xác ã Kiểu double kiểu ny l kiểu thông dụng biến MATLAB ã Kiểu Sparse • KiĨu int8, uint8, int16 Trang • KiĨu char vÝ dơ ‘Hello’ • KiĨu cell • KiĨu Structure Trong MATLAB kiĨu d÷ liƯu double lμ 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 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 l công cụ quan trọng Matlab Công cụ ny đợ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 lm việc ã Mạng nơron ã Logic mờ ã Simulink 1.1.3 HƯ thèng MATLAB HƯ thèng giao diƯn cđa MATLAB đợc chia thnh phần ã Môi trờng phát triển Đây l nơi đặt công cụ, phơng tiện giúp sử dụng lệnh v file, ta liệt kê số nh sau + Desktop + Command Window + Command History + Browsers for viewinghelp ã Th viện, hm toán học 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 Đó l ngôn ngữ cao ma trận v mảng, với dòng lệnh, hμm, cÊu tróc d÷ liƯu vμo , cã thĨ lËp trình hớng đối tợng ã Đồ hoạ MATLAB Trang Bao gồm câu lệnh thể đồ hạo môi trờng 2D v 3D, tạo hình ảnh chuyển động, cung cấp giao diện tơng tác ngời sử dụng v 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 Lm quen với matlab Trớc tiên để khởi động MATLAB bạn kích đúp (hoặc đơn) v biểu tợng file MATLAB.exe ,trên mn 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 v máy) cần thiết cho việc quản lý files, biến ,cửa sổ lệnh, coi desktop l panel gồm ô, vùng, quản lý v tác dụng cửa sổ nhỏ đợc quản lý desktop Hình vẽ 1.1 Trang Trên hình vẽ ta thấy cửa sổ desktop(cửa sổ lớn nhÊt), vμ c¸c cưa sỉ phơ cđa nã 1.1.5 Lμm việc với cửa sổ MATLAB đợc quản lý bëi desktop a Cưa sỉ Command window : Lμ cưa sổ giao tiếp Matlab l 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 hm có sẵn th viện (dạng lệnh), hm(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 >> , v 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) 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); plot(x,y); % chuong trinh đợc lu với tên file l ve_sin.m thực thi chơng trình cửa sổ Command window b»ng dßng lƯnh sau >> ve_sin 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 ny l dòng nhập biến ,hoặc l dòng lệnh thực hm no ) đợc giữ lại cửa sổ Command History ,v cửa sổ ny cho phép ta sử dụng lại lệnh cách kích Trang đô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: Lμ cưa sỉ thĨ hiƯn 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 Yêu liệu(hoặc thay đổi giá trị) Hình 1.3 Ngoi 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 vo nút bên trái cạnh nút save Ví dơ chän biÕn(gi¶ thư lμ biÕn b) råi kÝch đúp(hoặc kích chuột vo nút cạnh nút save) ta đơc cưa sỉ sau gäi lμ Array Editor: xem h×nh 1.4 Trang Tiêu đề l tên biến b , định dạng liệu ô có tên l: Numeric format, mặc định l 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 ny cách thay ®ỉi sè cã « kÝch th−íc size + Dïng cửa sổ ny để lu biến dới l liệu biến b, ta thay đổi chúng cách thay đổi giá trị ô ®ã 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 v kiểu liệu(class) (8 bytes cho phần tư d÷ liƯu kiĨu double thĨ lμ 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, th× t theo øng dơng 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 lμ 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 vo v biến lấy giá trị +Dạng hm function có biến liệu vo v 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 Trang 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, v chứa đến 19 ký tự l số chữ ã Bên phải dấu l giá trị ma trận ã Dấu chấm phẩy(; )l để phân cách hng, giá trị hng đợc phân cách dấu phẩy(,) dấu cách( phím space) ã 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, v sử dụng biến “ ans “ cho kÕt qu¶ cđa phÐp tÝnh Ta đăng ký biến thể kết ny 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 c¸c biÕn nμy cho c¸c phÐp tÝnh tiÕp theo vÝ dô nh−: >> s=10*r s= VÝ dô nhËp trùc tiÕp c¸c sè liƯu nh− sau >> a=[1 2;3 4] a = Matlab cã hng trăm hm đợc định nghĩa sẵn ví dụ nh hμm tÝnh sin >> x=pi; %nhËp biÕn x >> sin(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 : Trang Trong MATLAB cịng sử dụng phép toán thông thờng đợc liệt kê b¶ngsau Ký tù LƯnh Matlab ý nghÜa + * / \ ^ Céng a + b Trõ a - b Nhân ab Chia phải a a/b= b Chia trái a b\a = b Mò a^b a+b a-b a*b a/b b/a a^2 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 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 Chó ý : + C¸c lệnh đợc kết thúc dấu chấm phẩy, Matlab kết mn hình, ngợc lại kh«ng cã dÊu chÊm phÈy Matlab sÏ thĨ hiƯn kÕt + Trong trình nhập ma trận phần tử hng di 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 lệnh gián tiếp từ file liệu Nh đà trình by 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 hm function(có biến đầu vo v ra), v đợc ghi (lu)vo file liệu có phần mở rộng l m (Thông thờng chơng trình soạn thảo M-file thờng đợc lu theo đờng dẫn C:\matlab\ 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 ; a=1; b=-2; c=1; delta=b^2-4*a*c; x1=(-b+sqrt(delta))/(2*a) x2=(-b-sqrt(delta))/(2*a) % lu vo file GPTB2.m Ví dụ giải phơng tr×nh bËc hai t×m nghiƯm x1 vμ x2 viÕt M-file dạng Scriptfile: Thực thi chơng trình cửa sổ CommandWindow lệnh >>GPTB2 ã Đối với chơng trình viết dạng function ,có tham số đầu vo v ra,ta phải truyền đủ tham số cần thiết Ví dụ : Giải phơng trình bậc hai với ba tham số đầu vo l hệ số a , b, c v hai biến đầu l nghiệm phơng trình x1 vμ x2 (Xem c¸ch viÕt hμm function ë mơc sau) function [x1, x2] =GPTB2(a,b,c) x1=(-b+sqrt(delta))/(2*a); %Tinh nghiem x1 x2=(-bsqrt(delta))/(2*a); Trang Thực bi toán Command window nh− sau: >>a= 1; >>b=-2; >>c=1; >>[x1,x2]=GPTB2 (a,b,c) % cÊu trúc chung l [x1,x2]=Tên_file (a,b,c) ( [x1,x2]=GPTB2(1,-2,1) ) Lu ý viết chơng trình M-file, bạn muốn ghi thích ta dùng ký tự % đặt trớc dßng chó thÝch nh− sau % dßng chó thÝch -VÝ dơ %ViÕt M-file(d¹ng Script file) x=0:0.1:10 ; %T¹o vector x y=cos(x); plot(x,y); % Vẽ đồ thị hm cosin %l−u vμo file cã tªn lμ dai1.m Thùc thi hμm cửa sổ commandwindow lệnh >> dai1 Viết chơng trình M-file đợc dùng l chủ yếu ,đặc biệt chơng trình di , phức tạp bạn nên viết M-file 1.4 Dòng nhắc gán giá trị biên Đối với bạn đà học lập trình Pascal, bạn muốn nhập giá trị thực thi chơng trình bạn dùng cặp lệnh: writeln( 'Nhập giá trị a='); readln(a); Nhng MATLAB bạn thấy đơn giản dùng lệnh l : a=input(‘Nhap gia tri cua a=’); VÝ dơ: Trong cưa sỉ Commandwindow ta gâ lƯnh >> a =input(‘nhap a=’); Trang 10

Ngày đăng: 03/08/2023, 17:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w