1. Trang chủ
  2. » Giáo án - Bài giảng

BỘ TÀI LIÊU MATLAB TOÀN TẬP (TỪ CƠ BẢN ĐẾN NÂNG CAO) CÁC BẠN TÀI FULL FONT CHỮ VỀ MỚI XEM ĐƯỢC NHA

192 149 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

BỘ TÀI LIÊU MATLAB TOÀN TẬP (TỪ CƠ BẢN ĐẾN NÂNG CAO) FULL CÁC LỆNH BỘ TÀI LIÊU MATLAB TOÀN TẬP (TỪ CƠ BẢN ĐẾN NÂNG CAO) FULL CÁC LỆNH BỘ TÀI LIÊU MATLAB TOÀN TẬP (TỪ CƠ BẢN ĐẾN NÂNG CAO) FULL CÁC LỆNH BỘ TÀI LIÊU MATLAB TOÀN TẬP (TỪ CƠ BẢN ĐẾN NÂNG CAO) FULL CÁC LỆNH

Trang 1

 Hệ thống IBM tơng thích 100% với vi xử lí 486 Intel cộng với đồng xử lí tốn học 487 ( ngoại trừ 486 DX có xử lí bên ), Pentium Pentium Pro Processor.

 Microsoft Window 95 Window NT.

a) ổ CD ROM

- Bộ điều phối đồ hoạ bit card hình ( 256 màu đồng thời )

- Khoảng trống đĩa đủ để cài đặt chạy tuỳ chọn Sự yêu cầu đĩa cứng thay đổi tuỳ theo kích cỡ partition tệp trợ giúp help đợc cài đặt trực tuỳ chọn Q trình cài đặt thơng báo cho bạn biết tỉ mỉ dung lợng đĩa yêu cầu Ví dụ:

Partition với liên cung mặt cần 25 MB cho riêng MATLAB 50 MB cho MATLAB HELP.

Partition với liên cung 64 KB cần 115 MB cho riêng MATLAB 250 MB cho MATLAB HELP.

b ) Bộ nhớ.

Microsoft WIndow 95: MB tối thiểu 16 MB khuyến nghị.

Microsoft WIN NT 3.51 4.0: 12 MB tối thiểu 16 MB khuyến nghị Các khuyến nghị

 Bộ nhớ phụ vào (Bộ nhớ bổ sung: additional Memory)  Vỉ mạch tăng tốc đồ hoạ bổ trợ cho Microsoft Window  Máy in trợ giúp cho Microsoft Window.

 Vỉ mạch âm trợ giúp cho Microsoft Window.

 Microsoft Word 7.0 ( bạn có ý định sử dụng MATLAB NoteBook )  Trình biên dịch Watcom C, Borland, Microsoft (xây dựng file MEX).

 Netscape Navigator 2.0 version cao Microsoft Internet Explorer 3.0 để chạy MATLAB Help Desk.

Quá trình cài đặt

Đặt đĩa vào ổ CD Trên WIN 95 chơng trình SETUP bắt đầu chạy tự động nh MATLAB cha

đợc cài từ trớc Cịn khơng, nhấn đúp vào biểu tợng setup.exe để bắt đầu trình cài đặt.

Chấp nhận hay bỏ khuyến cáo cấp đăng kí phần mềm hình Nếu chấp nhận bạn bắt đầu q trình cài đặt.

Trên Custumer Information, nhập vào tên bạn, địa bạn Tên không đợc 30 kí tự Nhấn nút NEXT.

Nhấn vào hộp trống thành phần dấu ‘v‘ nh bạn muốn tuỳ chọn nhấn tiếp bạn có ý định khơng muốn tuỳ chọn ( thêm vào sau muốn ) Trên hình hiển thị C:\ MATLAB th mục đích mặc định trình cài đặt Nếu bạn muốn cài đặt vào th mục khác đổi tên th mục bạn lựa chọn Browse.

MATLAB cho Macintosh.

MATLAB cho máy Macintosh chạy đợc trên:

 Mọi máy Macintosh có cấu hình đủ mạnh ( power Macintosh ).

 Mọi Macintosh đợc trang bị vi xử lí 68040 ( đồng xử lí tốn học bên ).

 Mọi máy Macintosh đợc trang bị vi xử lí 68020 68030 đồng xử lí tốn học 68881 68882.

u cầu tối thiểu để chạy MATLAB.

 Đĩa cứng trống tối thiểu 26 MB, cần thêm 60 MB cho hệ thống tuỳ chon HELP trực tuyến  16 MB cho phân vùng nhớ.

 Color Quick Draw

Trang 2

GIớI THIệU chung

Bâygiờ bạn cài đặt xong, xem MATLAB làm đợc Trong phần trình bày số ứng dụng nó; để trình bày tất ứng dụng MATLAB dài tốn thời gian Nếu bạn đọc hớng dẫn này, bạn thấy MATLAB ngôn ngữ mạnh để giải vấn đề quan trọng khó khăn bạn Nó hữu ích bạn đọc phần hớng dẫn cung cấp cho bạn kiến thức để bạn hiểu rõ MATLAB phát triển đợc khả sau này.

Có lẽ cách dễ để hìng dung MATLAB có đầy đủ đặc điểm máy tính cá nhân: giống nh máy tính bản, làm tất phép tính tốn học nh cộng, trừ, nhân, chia; giống nh máy tính kỹ thuật, bao gồm: số phức, thức, số mũ, logarithm, phép toán l-ợng giác nh sine, cosine, tang; giống nh máy tính có khả lập trình, lu trữ, tìm kiếm lại liệu, tạo, bảo vệ ghi trình tự lệnh để tự động phép toán giải vấn đề, bạn so sánh logic, điều khiển thực hiên lệnh để đảm bảo tính đắn phép tốn Giống nh máy tính đại nhất, cho phép bạn biểu diễn liệu dới nhiều dạng nh: biểu diễn thông thờng, ma trân đại số, hàm tổ hợp thao tác với liệu thờng nh ma trận

Trong thực tế MATLAB ứng dụng rộng rãi nhiều lĩnh vực sử dụng nhiều phép tính tốn học Với đặc điểm khả thân thiện với ng ời sử dụng nên dễ dàng sử dụng ngơn ngữ khác nh Basic, Pascal, C.

Nó cung cấp mơi trờng phong phú cho biểu diễn liệu, có khả mạnh mẽ đồ hoạ, bạn tạo giao diện riêng cho ngời sử dụng(GUIs) để gải vấn đề riêng cho Thêm vào MATLAB đa cơng cụ để giải vấn đề đặc biệt, gọi Toolbox (hộp công cụ) Ví dụ Student Edition MATLAB bao gồm Toolbox điều khiển hệ thống, Toolbox xử lí tín hiệu, Toolbox biểu tợng tốn học Ngồi bạn tạo Toolbox cho riêng mình.

Với khả mạnh mẽ, rộng lớn MATLAB nên cần thiết cho bạn phần Sau nghiên cứu phần, sách giúp bạn hiểu đợc chúng Trớc tiên, cách đơn giản quan niệm nh máy tính bản, nh máy tính kỹ thuật nh máy tính lập trình đợc, cuối nh máy tính đại Bằng cách quan niệm bạn dễ dàng hiểu đựơc cách mà MATLAB giải vấn đề thông thờng xem MATLAB giải vấn đề số phức mềm dẻo nh nào.

Tuỳ thuộc vào kiến thức bạn, bạn tìm thấy phần sách hớng dẫn hứng thú hay buồn tẻ

Khi bạn chạy chơng trình MATLAB, tạo nhiều cửa sổ hình bạn, cửa sổ lệnh (command) cửa sổ để bạn giao tiếp với MATLAB, cửa sổ xuất nh hình dới đây.

Các kí tự “EDU>>” dấu nhắc MATLAB student MATLAB Trong version khác MATLAB, dấu nhắc đơn giản “>>” Khi cửa sổ lệnh xuất hiện, cửa sổ hoạt động, trỏ xuất bên phải dấu nhắc nh hình dới Con trỏ dấu nhắc MATLAB báo MATLAB đợi để thực lệnh.

Hình 1.1 Cửa sổ lệnh Student MATLAB1.1 Các phép toán đơn giản

Giống nh máy tính đơn giản thơng thờng, MATLAB thực phép tốn đơn giản, nh ví dụ dới đây:

Mary đến cửa hàng văn phòng phẩm mua cục tẩy, 25 xu cục, tập vở, 52 xu tập, hai cuộn băng đài, 99 xu cuộn Hãy tính xem Mary mua vật, tổng số tiền bao

Trang 3

Chú ý MATLAB không ý đến khoảng trống, cho tất phần, phép nhân có mức độ u tiên cao phép cộng Và ý khác MATLAB gọi kết ans (viết tắt answer) cho hai phép tính.

Nh nói trên, vấn đề giải cách chứa thông tin vào biến của

tạo biến MATLAB: erases, pads, tape để chứa số lợng loại vật Sau vào giá trị cho biến này, MATLAB hiển thị kết hình, trừ tr ờng hợp biến tape Dấu hai chấm đằng sau câu lệnh “>> tape = 2;” thông báo cho MATLAB nhận giá trị gán nhng khơng hiển thị hình Cuối khác với gọi kết ans, yêu cầu MATLAB gọi kết tổng số vật iterms, tổng số tiền cost Tại bớc MATLAB đa thơng tin Vì có lu giữ biến nên u cầu MATLAB tính giá trị trung bình cho vật: >> everage_cost = cost/iterms

everage_cost= 50.8333

Bởi everage cost có hai từ, mà MATLAB yêu cầu biến có từ, nên dùng dấu gạch dới để nối hai từ thành từ.

Ngồi phép tính trên, MATLAB cịn có số phép tính khác nh bảng dới đây:

Trang 4

Trong phép toán có mức độ u tiên khác nhau, tính từ trái sang phải dịng gồm nhiều lệnh phép tốn luỹ thừa có mức độ u tiên cao nhất, phép nhân phép chia có mức độ u tiên cuối phép cộng phép trừ có mức độ u tiên

1.2 Không gian làm việc MATLAB

Cũng nh bạn làm việc với cửa sổ Lệnh, MATLAB nhớ lệnh bạn gõ vào nh giá trị bạn gán cho nó đợc tạo lên Những lệnh biến đợc gọi lu giữ khơng gian làm việc MATLAB, đợc gọi lại bạn muốn Ví dụ, để kiểm tra giá trị biến tape, tất bạn phải làm yêu cầu MATLAB cho biết cách đánh vào tên biến dấu nhắc:

Your variables are:

ans cost iterms tape average_cost erasers pads

Chú ý MATLAB không đa giá trị tất biến, bạn muốn biết giá trị, bạn đánh vào tên biến dấu nhắc lệnh MATLAB.

Để gọi lại lệnh bạn dùng, MATLAB dùng phím mũi tên (  ) bàn phím bạn Ví dụ để gọi lại lệnh bạn gõ vào lúc gần nhất, bạn nhấn phím mũi tên , tiếp tục nhấn phím này, lại gọi tiếp lệnh trớc đó, Nếu bạn dùng phím mũi tên  gọi lại lệnh từ lệnh lệnh gần Các phím mũi tên   dùng để thay đổi vị trí trỏ dịng lệnh dấu nhắc MATLAB, nh sửa dịng lệnh, thêm nữa, dùng chuột với nhớ đệm để cắt, copy, dán, sửa văn dấu nhắc dòng lệnh.

1.3 Biến

Giống nh ngơn ngữ lập trình khác, MATLAB có quy định riêng tên biến Trớc tiên tên biến phải từ, không chứa dấu cách, tên biến phải có quy tuân thủ quy tắc sau:

Tên biến có phân biệt chữ hoa chữ thờng

Ví dụ: Iterms, iterms, itErms, ITERMS biến khác nhau

Tên biến chứa nhiều 31 kí tự, cịn kí tự sau kí tự thứ 31 bị lờ Ví dụ: howaboutthisveriablename

Tên biến bắt đầu phải chữ cái, chữ số, số gạch dới

Ví dụ: how_about_this_veriable_name, X51483 a_b_c_d_e Kí tự chấm câu khơng đợc phép dùng có ý nghĩa đặc biệt

Cùng với quy định trên, MATLAB có biến đặc biệt bảng sau: Các biến đặc biệt Giá trị

pi = 3.1415

Eps Số nhỏ nhất, nh dùng cộng với để đợcsố nhỏ lớn 1

NaN nan Dùng để số không xác định nh kết 0/0

realmin Số nhỏ đợc số thực

Trang 5

realmax Số lớn đợc số thực

Nh bạn tạo biến MATLAB, bạn gán lại giá trị cho hoặc

ở sử dụng lại ví dụ trên, tìm đợc số vật mà Mary mua sau thay đổi số cục tẩy lên 6, giá trị đè lên giá trị trớc Khi bạn làm nh vậy, giá trị iterms khơng thay đổi, MATLAB khơng tính lại iterms với giá trị erases Khi MATLAB thực phép tính, lấy giá trị biến thời, nên bạn muốn tính giá trị iterms, cost, average_cost, bạn gọi lại lệnh tính giá trị đó.

Đối với biến đặc biệt trên, có sẵn giá trị, nh bạn khởi động MATLAB; bạn thay đổi giá trị giá trị đặc biệt ban đầu bị bạn xố biến khởi động lại MATLAB Do bạn khơng nên thay đổi giá trị biến đặc biệt, trừ thực cần thiết.

Các biến không gian làm việc MATLAB bị xố khơng điều kiện cách

dùng lệnh clear Ví dụ:

>> clear erases xố biến erases >> clear cost iterms xoá hai biến cost iterms >> clear cl*

dấu * để xố tất biến bắt đầu hai kí tự cl >> clear

xố tất biến khơng gian làm việc! Bạn không đợc hỏi để xác nhận câu lệnh tất biến bị xố khơng thể khơi phục lại.

Có thể nói dùng lệnh clear nguy hiểm, dùng lệnh bạn nên dùng vị trí.

1.4 Câu giải thích (comment) chấm câu

Tất văn đằng sau kí hiệu phần trăm (%) câu giải thích Ví dụ: >> erases = % Số cục tẩy.

erases= 4

Biến erases đợc gán giá trị 4, cịn tất kí hiệu phần trăm văn đằng sau bị lờ Đặc điểm giúp cho dễ theo dõi công việc làm.

Nhiều lệnh đặt hàng, chúng cách dấu phẩy dấu chấm phẩy, nh:

Trang 6

Nh ví dụ trên, ta dùng dấu ba chấm ( ) để câu lệnh đợc tiếp tục hàng dới, phép tính thực đợc dấu ba chấm ngăn cách toán tử biến, nghĩa tên biến không bị ngăn cách hai hàng:

>> average_cost = cost/ it erms

??? age_cost = cost/iterms Missing operator, coma, or semicolon.

giống nh vậy, trạng thái lời giải thích khơng thể tiếp tục: >> % Comments cannot be continued >> either

??? Undefined function or variable either Bạn dừng chơng trình cách nhấn đồng thời Ctrl C.

1.5 Số phức

Một đặc điểm mạnh mẽ MATLAB làm việc với số phức Số phức MATLAB đợc định nghĩa theo nhiều cách, ví dụ nh sau:

Trang 7

Trong hai ví dụ cuối, MATLAB mặc định giá trị i = j = dùng cho phần ảo Nhân với i j đ ợc yêu cầu trờng hợp này, sin(.5)i sin(.5)j khơng có ý nghĩa MATLAB Cuối với kí tự i j, nh hai ví dụ đầu làm việc với số cố định, không làm việc đ-ợc với biểu thức.

Một số ngôn ngữ yêu cầu điều khiển đặc biệt cho số phức xuất hiện, MATLAB khơng cầu nh Tất phép tính tốn học thao tác đợc nh số thực

trong ví dụ cịn lại phần thực, phần ảo khơng Chúng ta dùng hàm real imag để

kiểm tra phần thực ảo.

Chúng ta biểu diễn số phức dạng độ lớn góc (dạng cực): M M.ej = a+bi

ở số phức đợc biểu diễn độ lớn M góc , quan hệ đại lợng phần thực, phần ảo số phức biểu diễn dới dạng đại số là:

Trang 8

CáC ĐặC tính Kĩ THUậT

Giống nh hầu hết máy tính kỹ thuật, MATLAB đa nhiều hàm toán học, kĩ thuật thơng dụng, ngồi MATLAB cịn cung cấp hàng trăm hàm đặc biệt thuật toán, hữu ích để giải vấn đề khoa học Tất hàm đợc liệt kê online help, đề cập đến hàm thơng dụng nhất.

2.1 Các hàm tốn học thơng th ờng

Các hàm toán học MATLAB đợc liệt kê bảng dới đây, chúng có chung cách gọi hàm nh ví dụ dới đây:

Những lệnh để tìm góc (tính độ) biết giá trị hàm sin / Tất hàm liên quan đến góc MATLAB làm việc với radian.

Bảng hàm: Các hàm thông thờng

Trang 9

>> 4*atan(1) % Một cách tính xấp xỉ giá trị pi ans=

3.1416

>> help atant2 % Yêu cầu giúp đỡ hàm atan2 ATAN2 four quadrant inverse tangent

ATAN2(Y, X) is the four quadrant arctangent of the real parts of the elements of X and Y -pi <= ATAN2(Y, X) <= pi

see also ATAN.

Trang 10

Ví dụ: Ước lợng chiều cao ngơi nhà

Vấn đề: Giả thiết biết khoảng cách từ ngời quan sát đến ngơi nhà D, góc từ ngời quan sát đếnngôi nhà ; chiều cao ngời quan sát h Hỏi nhà cao bao nhiêu?

Giải pháp: Ta biểu diễn kích thức nh hình 2.1:

Hình 2.1

Ngơi nhà có chiều cao H + h, H chiều dài cạnh tam giác, chiều dài tính đợc cơng thức quan hệ góc cạnh tam giác:

Ví dụ suy giảm phân rã

Vấn đề : Sự phân rã phân tử polonium có chu kỳ phân rã 140 ngày, tức sau 140 ngày lợng

poloniun lại 1/2 lợng ban đầu Hỏi ban đầu có 10 grams polonium, cịn lại sau 250 ngày?

Giải quyết: Sau chu kỳ phân rã 140 ngày, lại 10x0.5 = grams; sau chu kỳ phân rã

hoặc 280 ngày, lại 5x0.5 = 10x(0.5)2 = 2.5grams, từ ta có kết nằm khoảng 2.5 grams, ta có cơng thức tính phần cịn lại sau khoảng thời gian bất kỳ:

khối lợng lại = khối lợng ban đầu x(0.5)thời gian/ chu kỳ

Trang 11

ví dụ thời gian 250 ngày, kết MATLAB đa là:

>> initial_amount = 10; % Khối lợng ban đầu

Ví dụ tính tốn lãi xuất

Vấn đề: Bạn đồng ý mua ôtô với giá 18,500 dollars Ngời bán ôtô đa hai giải pháp tài

chính là: thứ nhất, trả 2.9% lãi xuất số tiền vòng năm Thứ hai trả 8.9% lãi xuất số tiền vòng năm giá bán đợc giảm khoản 1500 dollars Hỏi với giải pháp bạn mua đợc ôtô với giá rẻ hơn?

Giải pháp: Số tiền trả hàng tháng P, tổng số tiền A dollars, tỉ số lãi xuất hàng tháng R,

trả M tháng:

P = A

Tổng số tiền phải trả là: T = PxM Giải pháp MATLAB đa là:

>> format bank % Dùng dạng hiển thị ngân hàng

Nh ta có giải pháp thứ giá rẻ giải pháp thứ hai.

Ví dụ: Vấn đề nồng độ acid

Vấn đề: Nh phần trình sản xuất phận vật đúc nhà máy tự động, phận

đó đợc nhúng nớc để làm nguội, sau nhúng bồn đựng dung dịch acid để làm Trong toàn trình nồng độ acid giảm phận đợc lấy khỏi bồn acid khi

Trang 12

nhúng phận vật đúc vào bồn lợng nớc cịn bám vật đúc nhúng bể trớc vào theo nhấc khỏi bồn lợng acid bám theo vật Để đảm bảo chất lợng nồng độ acid phải không đợc nhỏ lợng tối thiểu Bạn bắt đầu với nồng độ dung dịch 90% nồng độ tối thiêu phải 50% Lợng chất lỏng thêm vào lấy sau lần nhúng dao động khoảng từ 1% đến 10% Hỏi phận nhúng vào bể dung dịch acid trớc nồng độ giảm xuống dới mức cho phép?

Giải pháp:

Ban đầu nồng độ acid initial_con = 90% = acid/ (acid + water) sau lần nhúng thứ nồng độ acid còn:

“acid” lợng acid ban đầu dung dịch, “water” lợng nớc ban đầu dung dịch, “lost” lợng phần trăm nớc thêm vào Số acid lại dung dịch sau lần nhúng thứ là:

Nh nhúng 59 lần trớc nồng độ acid giảm xuống dới 50% Chú ý hàm floor dùng đểlàm tròn số n xuống số nguyên gần nhất, dây ta dùng hàm logarithm số 10 vàlogarithm số thay cho hàm logarithm tự nhiên trên.

Trang 13

chơng 3

NHữNG ĐặC ĐIểM CủA CửA Sổ LệNH

Cửa sổ lệnh (comand) MATLAB có nhiều đặc điểm cần ý, số chúng đ ợc giới thiệu chơng trớc, sau tìm hiểu rõ chúng.

3.1 Quản lí khơng gian làm việc MATLAB

Các liệu biến đợc tạo lên cửa sổ lệnh, đợc lu phần gọi không gian làm việc MATLAB Muốn xem tên biến không gian làm việc MATLAB ta dùng lệnh who: theta 1x1 double array Grand total is elements using 32 bytes

Mỗi biến đợc liệt kê với kích cỡ nó, số bytes sử dụng, lớp chúng (class), ví dụ

đặc biệt này, biến số đơn, có độ xác hai số sau dấu phẩy Lệnh whos đặc biệt có ích

khi nghiên cứu đến phần mảng kiểu liệu khác

Ngoài hàm này, mục Show Workspace bảng chọn file tạo cửa sổ GUI gọi

là Workspace Browser, chứa thơng tin tơng tự nh lệnh whos Thêm tạo cho bạn khả

năng xố, làm biến mà bạn chọn Cửa sổ tạo cách nhấn nút

Workspace Browser, công cụ cửa sổ lệnh.

Nh trình bày trên, lệnh clear xố biến từ không gian làm việc MATLAB

Trang 14

CLEAR Clear variables and functions from memory CLEAR removes all variables from the workspace CLEAR VARIABLES does the same thing.

CLEAR GLOBAL removes all global variables.

CLEAR FUNCTIONS removes all compiled M-functions CLEAR MEX removes all links to MEX-files.

CLEAR ALL removes all variables, globals, functions and MEX

For instance, CLEAR X* clears all the variables in the current workspace that start with X.

If X is global, CLEAR X removes X from the current workspace, but leaves it accessible to any functions declaring it global CLEAR GLOBAL X completely removes the global variable X.

CLEAR FUN clears the function specified If FUN has been locked by MLOCK it will remain in memory.

CLEAR ALL also has the side effect of removing all debugging breakpoints since the breakpoints for a file are cleared whenever

the m-file changes or is cleared

Use the functional form of CLEAR, such as CLEAR('name'), when the variable name or function name is stored in a xâu See also WHO, WHOS, MLOCK, MUNLOCK.

Cuối cùng, làm việc không gian làm việc MATLAB, thờng thuận tiện để ghi

hoặc in công việc bạn, lệnh diary ghi liệu ngời dùng đa vào cửa sổ lệnh đa

ra file văn dạng mã ASCII có tên diary th mục >> diary frame % ghi liệu vao file frame

>> diary off % kết thúc lệnh diary đóng file

Khi cửa sổ lệnh đợc chọn, chọn print từ bảng chọn file để in cửa sổ lệnh, bạncó thể dùng chuột để lựa chọn phần muốn ghi, chọn Pint Selection từ bảng chọn file, để in

một phần văn lựa chọn.

3.2 Ghi phục hồi liệu

Để nhớ biến MATLAB ghi gọi lại liệu từ file máy tính bạn Mục

Workspace as bảng chọn file mở hộp chuẩn hội thoại để ghi tất biến Giốngnh vậy, mục Load Workspace bảng chọn file mở hộp hội thoại để gọi lại tất biến

mà ta ghi lại từ khơng gian làm việc trớc, khơng làm biến không gian làm việc Khi ta gọi lại biến, mà biến trùng tên với biến không gian làm việc MATLAB, thay đổi giá trị biến theo giá trị biến gọi từ file.

Trang 15

Nếu bảng chọn file không thuận tiện không đáp ứng đợc yêu cầu bạn,

MATLAB cung cấp hai lệnh save load, thực cách mềm dẻo hơn, trờng hợp đặcbiệt, lệnh save cho phép bạn ghi nhiều biến theo lựa chon bạn.

Ví dụ: >> save

Chứa tất biến MATLAB theo kiểu nhị phân file MATLAB.mat >> save data

chứa tất biến MATLAB theo kiểu nhị phân fle data.mat >> save data erasers pads tape -ascii

Ghi biến erasers, pads, tape dạng mã ASCII số file data File dạng mã ASCII sửa đổi chơng trình soạn thảo văn nào, ý file ASCII phần mở rộng mat.

>> save data erasers pads tape -ascii -double Ghi biến erasers, pads, tape dạng ASCII 16 số file data.

Lệnh load dùng với cú pháp tợng tự.

3.3 Khuôn dạng hiển thị số

Khi MATLAB hiển thị kết dạng số, tuân theo số quy định sau:

Mặc định, kết số ngun MATLAB hiển thị số nguyên, kết số thực MATLAB hiển thị số xấp xỉ với bốn chữ số sau dấu phẩy, cịn số dạng khoa học MATLAB hiển thị giống nh máy tính khoa học.

Bạn khơng dùng dạng mặc định, mà tạo khuôn dạng riêng từ mục Preferences,trong bảng chọn file, mặc định đánh dạng xấp xỉ dấu nhắc.

Chúng ta dùng biến average_cost ( ví dụ trớc) làm ví dụ, dạng số là:

format short e

hoặc format long e

Một ý quan trọng MATLAB không thay đổi số định lại khuôn dạng hiển thị đợc chọn, mà thay đổi hình thay đổi.

Trang 16

Chơng 4

Script M_files

Một vấn đề đơn giản là, yêu cầu bạn dấu nhắc MATLAB cửa sổ lệnh nhanh hiệu Tuy nhiên số lệnh tăng lên, bạn muốn thay đổi giá trị nhiều biến thực lại số lệnh với giá trị mới, đánh lặp lại dấu nhắc MATLAB trở lên buồn tẻ, MATLAB cung cấp giải pháp cho vấn đề là: cho phép bạn thay lệnh MATLAB file văn đơn giản, yêu cầu MATLAB mở file thực lệnh

chính xác nh đánh dấu nhắc MATLAB cửa sổ lệnh, file gọi script file, hoặcđơn giản M_file Danh từ "script" để thực tế MATLAB đọc từ file kịch tìm thấy

trong file Danh từ "M_file" để tên script file phải kết thúc phần mở rộng '.m' nh ví dụ example1.m.

Để tạo script M_file, chọn New bảng chọn file chọn M_file Thủ tục tạo

ra hình soạn thảo, bạn đánh đợc lệnh MATLAB Ví dụ dới cách lệnh ví dụ ớc lợng chiều cao ngơi nhà trớc:

Bạn ghi lu giữ file nàybằng cách chọn Save từ bảng chọn file Khi bạn ghi lên file ý

phải đánh tên file trùng với tên hàm (example) không cần đánh vào phần mở rộng, MATLAB tự gán vào cho Khi từ dấu nhắc ta đánh:

Khi MATLAB diễn giải trạng thái example1 trên, đợc nói kỹ chơng sau, nhng cách ngắn gọn, MATLAB dùng trạng thái biến MATLAB tạo lên lệnh nó, bắt đầu tên M_file Nghĩa là, example1 biến tại, lệnh MATLAB xây dựng lên, MATLAB mở file example1.m (nếu tìm thấy) tính giá trị lệnh tìm thấy vào thơng số xác dấu nhắc cửa sổ lệnh Nh thấy lệnh M_file truy cập đến tất biến không gian làm việc MATLAB, tất biến M_file trở thành phần khơng gian làm việc Bình thờng lệnh đọc trong

M_file không đợc hiển thị nh đợc tính cửa sổ lệnh, nhng lệnh echo on yêu cầu MATLAB

hiển thị lặp lại lệnh cửa sổ lệnh nh đọc tính Tiếp theo bạn đốn đợc

lệnh echo off làm Giống nh vậy, lệnh echo lặp lại làm thay đổi trạng thái của

Với đặc điểm M_file bạn thay đổi lại nội dung file, ví dụ bạn mở M_file example1.m thay đổi lại giá trị h, D, theta, ghi lại file yêu cầu MATLAB tính lại lệnh file Thêm nữa, cách tạo M_file, lệnh bạn đợc lu đĩa ứng dụng sau bạn cần.

Những ứng dụng dẫn MATLAB giúp hiểu đợc dùng script file nh example1.m, dẫn cho phép bạn lu giữ lệnh script file, bạn nhớ đợc lệnh làm bạn nhìn lại file sau Thêm nữa, dấu chấm phẩy đằng sau câu lệnh không cho hiển thị kết quả, từ bạn điều chỉnh script file đa kết cần thiết.

Trang 17

Vì ứng dụng script file, MATLAB cung cấp số hàm đặc biệt có ích bạn sử dụng M_file:

Các hàm M_file

waitforbuttonpress Dừng lại ngời dùng nhấn chuột phím.

Khi lệnh MATLAB khơng kết thúc dấu chấm phẩy, kết lệnh đợc hiển thị cửa sổ lệnh với tên biến Đơi lúc thuận tiện khơng cho tên biến, MATLAB ta dùng lệnh disp để thực việc này:

>> h % Cách truyền thống để kết h=

2

>> disp(h) % Hiện kết khơng có tên biến 2

Để giúp bạn soạn thảo script file tính tốn cho nhiều trờng hợp, lệnh input cho phép bạn

tạo câu nhắc để vào liệu đợc an tồn Ví dụ example1.m với phần đợc sửa:

ở ví dụ ta gõ vào số 60 ấn Enter Những lệnh sau tính với giá trị D 60 Chú ý rằng

hàm input dùng với phép tốn khác giống nh hàm thông thờng khác, hàm input

cũng chấp nhận kiểu biểu diễn số nào, ví dụ ta vào số là: +5 >> example1

theta=

Trang 18

D = input(‘ Vào khoảng cách ngời nhà: ‘) Vào khoảng cách ngời nhà: 60

building_height = h + D*tan(theta*pi/180) building_height=

64.8319 echo off

Nh bạn thấy trờng hợp này, lệnh echo làm cho kết khó đọc hơn, nhng ngợc lại

lệnh có ích gỡ rối nhiều script file ứng dụng

-oOo -Chơng 5

QUảN Lý Tệp

MATLAB cung cấp số hàm file hệ thống lệnh cho phép bạn liệt kê tên file, xem, xoá M_file, hiển thị thay đổi th mục chứa Một số tổng kết lệnh đợc đwa bảng dới Thêm vào bạn xem sửa đờng dẫn MATLAB (matlabpath) Những đờng dẫn cho MATLAB nơi chứa script file hàm M_file máy tính bạn Có nhiều trờng hợp hàm MATLAB M_file đơn giản đợc chứa ổ đĩa, nhng MATLAB thông báo khơng biết hàm này, nh khơng tìm đợc đờng dẫn MATLAB, bạn cần phải thay đổi lại đờng dẫn:

Các hàm hệ thống file

Trang 19

addpath dir1 Thêm th mục dir1 vào bắt đầu đờng dẫn

d = dir Trả lại file th mục thời cấu trúc

exist(‘d’,’dir’) Kiểm tra tồn th mục d đờng dẫn

hiện trớc startup.m

MATLABroot Trả đờng dẫn th mục cho chơng trình thực MATLAB

rmpath dir1 Bỏ th mục dir1 từ đờng dẫn matlabpath

trong th mục thời

Đờng đẫn MATLAB danh sách tất th mục lu trữ file MATLAB Hơn nữa, bạn tạo th mục M_file đờng dẫn phải đợc thêm vào matlabpath, khơng MATLAB khơng thể truy cập đến file bạn đợc, trừ file đặt th mục thời.

Để xem MATLAB sử dụng matlabpath nh nào, xem trờng hợp đợc mô tả bảng sau:(Không thấy)

Đờng dẫn MATLAB

Khi bạn gõ >> cow, MATLAB làm nh sau:

(1) Kiểm tra cow biến không gian làm việc MATLAB, khơng (2) Nó kiểm tra cow hàm đợc xây dựng, khơng

(3) Nó kiểm tra tên M_file cow.m tồn th mục thời, khơng

(4) Nó kiểm tra cow.m tồn nơi đờng dẫn MATLAB cách tìm kiếm đờng dẫn

Khi phù hợp đợc tìm thấy MATLAB chấp nhận Ví dụ nh cow tồn nh biến khơng giạn làm việc MATLAB, MATLAB khơng dùng hàm biến có tên cow Vì bạn tránh khơng nên tạo biến có tên trùng với tên hàm nh:

>> sqrt = 1.2; >> sqrt(2);

Những lệnh tạo lỗi, sqrt khơng phải hàm tính bậc hai, biến

có giá trị 1.2 Thủ tục đờng dẫn cịn đợc dùng lệnh load đợc dùng Đầu tiên MATLAB tìm kiếm

trong th mục tại, sau tìm theo đờng dẫn MATLAB đến file liệu

Trang 20

Thực tế thủ tục tìm kiếm MATLAB phức tạp trình bày nhiều MATLAB dùng nhiều file có phần mở rộng ‘.m’ Hàm M_file chứa nhiều biến, th mục

trong matlabpath có th mục gọi private, MATLAB cung cấp chơng trình hớng đối

t-ợng với tốn tử định nghĩa lại M_file th mục con, bắt đầu kí tự @ Nếu tất đặc điểm đợc cộng thêm vào bảng đầy đủ hơn, nhng khó hiểu Nếu bạn muốn nghiên cứu thêm phần xem tài liệu cung cấp đĩa CD.

Nếu bạn có M_file MAT_file chứa th mục đờng đẫn MATLAB không th mục tại, MATLAB khơng thể tìm thấy chúng Có hai giải pháp cho vấn đề là:

(1)_Tạo th mục thiết kế thành th mục tại, dùng lệnh cd pwd từ bảng trớc.

(2)_Cộng thêm th mục thiết kế đờng dẫn MATLAB

Cuối dễ dàng ta sử dụng phơng pháp duyệt qua đờng dẫn (path browser)hoặc lệnh cửa sổ lệnh path addpath Để dùng path browser, ta chọn set path từ bảngchọn file nhấn chuột nút path browser công cụ cửa sổ lệnh Làm nh ta sẽ

đợc hình giống nh hình 5.1:

Giống nh thiết kế GUI, liên quan trực tiếp ta sử dụng Đờng dẫn matlabpath đợc hiển thị bên trái, th mục nằm đờng dẫn đợc chọn nằm bên trái, nút thay đổi đờng dẫn nh thêm đờng dẫn (add to path), loại bỏ đờng dẫn (remove from path) phía Để ghi lại thay

đổi ta chọn save path từ bảng chọn file cửa sổ path browser trớc đóng GUI.

Hình 5.1 path browser MATLAB 5.2

Cửa sổ path browser MATLAB 5.0 không khác so với MATLAB 5.2, chủ yếu các

nút thay đổi đờng dẫn MATLAB 5.2 đặt đỉnh cịn MATLAB 5.0 đ ợc đặt ở

bên phải Để ghi lại thay đổi đờng dẫn MATLAB 5.0 trớc đóng GUI ta nhấn nút savesettings

Trang 21

Hình 5.2 path browser MATLAB to Student5.1 MATLAB khởi động

Khi khởi động MATLAB, tạo hai script M_file matlabrc.m startup.m, atlabrc.m MATLAB, nhìn chung khơng đợc sửa nó.

Các lệnh M_file tạo cấu hình mặc định kích cỡ cửa sổ vị trí nó, nh đặc điểm mặc định khác Windows95, WindowNT Đờng dẫn mặc định đợc tạo cách gọi script file pathdef.m từ matlabrc.m Trong phần, lệnh matlabrc.m kiểm tra tồn script M_file startup.m đờng dẫn MATLAB tồn tại, lệnh đợc thực hiện.

Sự lựa chọn M_file startup.m chứa lệnh có đặc điểm riêng MATLAB.

Ví dụ thơng thờng ta thêm lệnh path addpath startup.m

để chèn thêm th mục vào đờng dẫn MATLAB Giống nh vậy, mặc định hiển thị khn dạng số thay đổi đợc nh format compact Nếu bạn có hình cân xám, lệnh graymon có ích tạo mặc định đồ hoạ cho chế độ Hơn nữa, bạn vẽ đồ thị có kiểu mặc định riêng gọi tới colordef xuất startup.m Khi startup.m file chuẩn script M_file, khơng lệnh thay đợc Tuy nhiên ta thay lệnh quit startup.m

Trang 22

chơng 6

các phép tốn với MảNg

Tất tính tốn trì điểm có sử dụng đến số đơn, gọi scalars Phéptốn có liên quan đến scalars phép toán bản, nhng lúc đó, phép tốn phải lặp lại

nhiều lần tính nhiều số Để giải vấn đề này, MATLAB định nghĩa thao tác mảng liệu.

6.1 Mảng đơn

Giả sử ta xét hàm y=sin(x) nửa chu kỳ (   x  ) khoảng số điểm giá trị x vô tận, nhng ta xét điểm cách khoảng giá trị 0.1 nh số giá trị x đếm đợc Từ ta có mảng giá trị x mảng y chứa phần tử y1, y2, , y11

Trong MATLAB để toạ mảng đơn giản; ví dụ để tạo hai mảng ta đánh lệnh sau vào dấu nhắc MATLAB:

>> x=[0 1*pi 2*pi 3*pi 4*pi 5*pi 6*pi 7*pi 8*pi 9*pi pi]

Kết ta đợc mảng y gồm phần tử tơng ứng sine phần tử x, MATLAB ngầm hiểu ta tính sine phần tử x.

Để tạo mảng, ta đặt phần tử mảng vào hai dấu ngoặc vuông "[ ]"; hai phần tử mảng dấu cách dấu phẩy ","

6.2 Địa mảng

mảng x có hàng, 11 cột hay gọi vector hàng, mảng có độ dài 11

+) Để truy nhập đến phần tử mảng ta dùng số thứ tự phần tử mảng ví dụ x(1) phần tử thứ mảng, x(2) phần tử thứ hai mảng

Trang 23

Truy nhập đến phần tử khoảng từ phần tử thứ 2, đến phần tử thứ 7, vị trí phần tử sau vị trí phần tử trớc cộng với 2, mảng x:

Với mảng có số lợng phần tử ta nhập vào trực tiếp, nhng với mảng có số lợng lớn phần tử ta dùng hai cách sau:

+) Tạo mảng bắt đầu phần tử 0, sau phần tử trớc cộng với 0.1, phần tử cuối 1, tất các

Trang 24

Cách thứ giúp ta tạo mảng mà cần vào khoảng cách giá trị phần tử (không cần biết số phần tử), cách thứ hai ta cần vào số phần tử mảng (không cần biết khoảng cách giá trị phần tử).

Ngoài mảng trên, MATLAB cịn cung cấp mảng khơng gian theo logarithm hàm

logspace Cú pháp hàm logspace nh sau:

logspace(số mũ đầu, số mũ cuối, số phần tử) Tạo mảng, giá trị bắt đầu 100, giá trị cuối 100, chứa 11 giá trị

Các mảng mảng mà phần tử đợc tạo lên theo quy luật định Nhng đơi mảng đợc u cầu, khơng thuận tiện tạo phần tử phơng pháp trên, mẫu chuẩn để tạo mảng Tuy nhiên ta tạo mảng cách vào nhiều

x=[ 2*pi sqrt(2) 2-3j ] Tạo vector hàng x chứa phần tử đặc biệt.

x= first : last Tạo vector hàng x bắt đầu first, phần tử sau phần tử trớc cộng với 1, kết thúc phần tử có giá trị

Trang 25

bằng nhỏ last

x= first : increment : last Tạo vector hàng x bắt đầu fist, giá trị cộng increment, kết thúc phần tử có giá trị nhỏ last.

x= linspace(fist, last, n) Tạo vector hàng x bắt đầu first, kết thúc last, có n phần tử.

x= logspace(first, last, n) Tạo vector hàng không gian logarithm x bắt đầu 10first, kết thúc 10last, có n phần tử.

6.4 Vector hàng vector cột

Trong ví dụ trớc, mảng chứa hàng nhiều cột, ngời ta thờng gọi vector hàng Ngồi ta cịn có mảng vector cột, tức mảng có cột nhiều hàng, trờng hợp tất thao tác tính tốn mảng nh khơng thay đổi

Từ hàm tạo mảng minh hoạ phần trớc (tất tạo vector hàng), có nhiều cách để tạo vector cột Một cách trực tiếp để tạo vector cột vào phần tử mảng nh ví dụ sau:

Khác với trớc ta dùng dấu cách hay dấu phẩy để phân cách hai cột vector hàng Còn ví dụ ta dùng dấu chấm phẩy để phân cách hai hàng vector cột.

Một cách khác để tạo vector cột dùng hàm linspace, logspace, hay từ vector

hàng, sau dùng phơng pháp chuyển vị MATLAB dùng toán tử chuyển vị ( ' ) để chuyển từ vector hàng thành vector cột ngợc lại.

Ví dụ tạo vector a vector b chuyển vị vector a, vector c chuyển vị vector b:

Ngoài MATLAB cịn sử dụng tốn tử chuyển với dấu chấm đằng trớc ( ' ) ( toán tử chuyển vị chấm) Toán tử khác với toán tử chuyển vị ( ' ) phần tử mảng số phức, tức từ vector nguồn với phần tử số phức, toán tử ( ' ) tạo vector phức liên hợp chuyển vị, cịn tốn tử ( ' ) tạo vector chuyển vị.

Ví dụ sau làm rõ điều trên:

>> c = a.' % Tạo vector c từ vector a toán tử chuyển vị chấm

c= 1

Trang 26

ta xét đến mảng có hàng hay cột ta xét trờng hợp có nhiều hàng

và nhiều cột, cịn đợc gọi ma trận Ví dụ sau ma trận g có hai hàng bốn cột:

>> g = [1 4;5 8] g=

8

Trong ví dụ ta dùng dấu cách để vào phần tử hàng dấu chấm phẩy ( ; ) để tạo hai hàng; ta tạo ma trận nh sau:

Chú ý: Khi nhập vào ma trận hàng số phần tử phải khơng chơng

trình bị báo lỗi nh ví dụ sau: >> h = [1 3;4 7]

Numbers of elements in each row must be the same

+) Phép toán mảng với số đơn.

Trang 27

Trong ví dụ trớc tạo mảng x cách nhân phần tử mảng với Các phép toán đơn giản khác mảng với số đơn phép cộng, phép trừ, phép nhân, phép chia mảng cho số cách thực phép tốn phần tử mảng +) Phép toán mảng với mảng

Thuật toán thực phép toán mảng khơng phải đơn giản nh mà cịn bị ràng buộc điều kiện khác nh hai mảng kích cỡ nh ta có phép toán sau: phép cộng, phép trừ, phép nhân, chia tơng ứng phần tử của hai mảng.

Trang 28

27 30 33 36

ở ví dụ ta dùng tốn tử chấm_nhân ( * ), ngồi MATLAB cịn dùng tốn tử chấm_chia ( / \ ) để chia tơng ứng phần tử hai mảng nh ví dụ dới đây:

>> g./h % Chia phải tơng ứng phần tử mảng g với phần tử mảng h

Chú ý ta dùng phép nhân_chấm hay phép chia_chấm mảng g h mà không thể

dùng phép nhân ( * ) hay phép chia ( / \ ) phép toán yêu cầu số cột số hàng hai ma trận phải tơng thích.

Phép chia ma trận đa kết mà không cần thiết phải kích cỡ nh ma trận g ma trậnh Về phép toán ma trân nói đến sau

+) Mảng với luỹ thừa.

MATLAB dùng tốn tử ( ^ ) để định nghĩa luỹ thừa mảng.

Ví dụ ta có hai mảng g h nh trên, ta tạo mảng toán tử ( ^ ) nh sau: >> g.^2 % Các phần tử g đợc luỹ thừa vớ số mũ 2.

Trang 29

Sau bảng số phép toán mảng:

Các phép toán phần tử mảng

Dữ liệu minh hoạ: a = [a1 a2 an] , b = [b1 b2 bn] , c số vô hớng Cộng với số đơn a+c = [a1 +c a2 +c an+c]

Nhân với số đơn a*c = [a1 *c a2 *c an*c] Cộng mảng a+b = [ a1+b1 a2+b2 an+bn ] Nhân mảng a.*b = [ a1*b1 a2*b2 an*bn ] Chia phải mảng a./ b = [ a1/ b1 a2/ b2 an/ bn ] Chia trái mảng a.\ b = [ a1\ b1 a2\ b2 an\ bn ] Luỹ thừa mảng a.^c = [ a1^c a2^c an^c ]

c.^a = [ c^a1 c^a2 c^an ] a.^b = [ a1^b1 a2^b2 an^bn ]

Trang 30

Khi gọi hàm ones(n), zeros(n) với thông số n MATLAB tạo mảng vng với số hàng sốcột n Khi gọi hàm với hai thơng số ones(r,c), zeos(r,c) r số hàng, c số cột.

6.6 Thao tác mảng

Từ mảng ma trận MATLAB, có nhiều cách để thao tác chúng MATLAB cung cấp cách tiện ích để chèn vào, lấy ra, sếp lại phần tử chúng số phần tử Ví dụ dới minh hoạ đặc điểm thao tác ta dùng dấu hai chấm ( : ) để tất hàng.

>> A = [1 3; 6; 9]; % Gán lại giá trị ma trận A >> B = A(3:-1:1,1:3) % Tạo ma trận B cách đảo ngợc hàng ma trận A.

Trang 32

??? Indexed empty matrix assignment is not allowed.

ở MATLAB khơng cho phép xố phần tử ma trận mà phải xoá cột hàng.

>> B = A(4,:)

??? Index exeeds matrix dimension.

Ví dụ ma trận A khơng có bốn hàng, nên MATLAB thơng báo nh >> B(1:2,:) = A

??? In an assignment A(matrix, :) = B, the number of columns in A and B must be the same.

MATLAB bạn gán ma trận vào ma trận khác mà khác về

Nhng ta gán hai hàng ma trận A cho hai hàng ma trận B, ma trận A ma trận B có số cột Ma trận B có hàng nên thêm hàng thứ ba hàng thứ t hàng thứ hai của

Đôi để tiện lợi ta dùng số đơn để truy nhập đến phần tử mảng Khi số đơn đợc dùng MATLAB thứ tự phần tử mảng đợc tính phần tử cột, tính hết cột tính đến cột

Trang 33

Ngoài trờng hợp dùng địa dựa bảng số, cịn dùng địa dựa mảng logic_là kết từ phép tốn logic Nếu kích cỡ mảng logic cân với mảng tạo địa mảng Trong trờng hợp phần tử True (1) đợc lại phần tử

??? Index into matrix is negative or zero See release notes on changes to logical indices

Câu lệnh bị lỗi abs(x)>1 [1 0 1] vector nh Trong trờng hợp này, [1 0 1] mảng số, khơng phải mảng logic Vì MATLAB cố đánh địa phần tử có số số mảng [1 0 1] câu lệnh bị lỗi khơng có phần tử Tuy nhiên

MATLAB cung cấp hàm logical để chuyển đổi từ mảng số sang mảng logic

Trang 34

Tuy nhiên kết đợc chuyển thành vector cột khơng cách để định nghĩa ma trận có ba phần tử Địa mảng A( r, c ) Địa mảng mảng A, định nghĩa số vector hàng thiết kế r, số vector cột thiết kế c A( r, : ) Địa mảng mảng A, định nghĩa bằnh số vector hàng thiết kế r, tất cột A A( : , c) Địa mảng mảng A, định nghĩa tất hàng A, số vector cột đợc thiết kế c.A( : ) Địa tất phần tử A nh vector cột, cách ghép thứ tự cột vector A A( i ) Địa mảng mảng A, định nghĩa số vector đơn đợc thiết kế i, với giả sử A vector cột A( x ) Địa mảng mảng A, định nghĩa mảng logic x x phải kích cỡ với A.

6.7 Tìm kiếm mảng con

Nhiều muốn biết số hay danh sách số phần tử mảng mà thoả mãn biểu thức quan hệ, MATLAB để thực việc ta sử dụng hàm

find, hàm trả danh sách số phần tử mà biểu thức quan hệ chúng đúng:

Trang 35

i số hàng, j số cột; i j có mối quan hệ tơng ứng để vị trí mà biểu thức quan hệ đúng.

Chú ý: MATLAB trả lại hai nhiều biến, chúng đợc đặt dấu ngoặc vuông, đợc đặt

bên trái dấu Cú pháp khác với cú pháp thao tác mảng trên, mà [i,j]đợc đặt bên phải dấu bằng, xây dựng lên mảng mà j đợc kết nối vào bên phải dấu bằng.

Bảng dới tóm tắt dạng lệnh phần tìm kiếm mảng:

Tìm kiếm mảng

i = find(x) Trả lại số mảng x nơi mà phần tử khác khơng [ r, c ] = find(x) Trả lại số hàng số cột mảng x nơi mà phần tử của

Hàm isequal trả lại giá trị logic (1) hai mảng có kích cỡ, phần tử giống nhau.

Ngồi trả lại giá trị sai (0).

Thêm vào đó, hàm ismember phần tử giống hai mảng:

>> ismember(A,B) % Kết trả vector cột.

Trang 36

ismember trả lại giá trị cho số A mà phần tử có đối số thứ

hai Hai đối số khơng cần có kích cỡ.

Đây mảng có số phần tử số phần tử A, với phần tử chung Vì ismember

so sánh đối số thứ với đối số thứ hai trả lại vector có số phần tử với đối số thứ nhất.

Những hàm tạo khác th viện MATLAB:

>> union(A,B) % Tất phần tử có hai mảng.

Trang 37

isequal(A, B) Đúng A B giống nhau.

ismember(A, B) Đúng phần tử A phần tử B intersect(A, B) Các phần tử chung A B.

setdiff(A, B) Các phần tử có A mà khơng có B setxor(A, B) Các phần tử không thuộc phần chung A B union(A, B) Tất phần tử có A B

6.9 Kích cỡ mảng

phần trớc biết lệnh who cung cấp tên biến ngời dùng định nghĩa Trong trờng hợpcủa mảng, cịn quan trọng biết kích cỡ mảng Trong MATLAB, lệnh whos cung cấp

những thông tin này: >> whos

Name size Bytes Class A 3x3 72 double array

Trang 38

B 1x3 24 double array

ans 1x4 32 double array (logical) Grand total is 16 elements using 128 bytes

Thêm vào để đánh số kích cỡ biến, whos hiển thị tổng số bytes chiếm, class của

các biến Ví dụ, thơng tin đề cập trên, ans mảng logic

Trong trờng hợp mà kích cỡ ma trận vector khơng đợc biết nhng cần thiết

cho số thao tác, MATLAB cung cấp hai hàm ứng dụng size length :

Trang 39

s = size(A) Trả lại vector hàng s, mà phần tử thứ số hàng A, phần tử thứ hai số cột A.

[ r, c ] = size(A) Trả lại hai số vô hớng r, c chứa số hàng số cột A r = size(A, 1) Trả lại số hàng A biến r.

c = size(A, 2) Trả lại số cột A biến c.

n = length(A) Trả lại max(size(A)) biến n A không rỗng.

6.10 Mảng nhiều chiều

Đối với MATLAB versions trớc 5.0, mảng có hai chiều Từ MATLAB 5.0 trở lên số chiều mảng tăng lên Ví dụ:

Tạo mảng hai chiều a, b, c, sau ghép chúng lai với thành mảng ba chiều cách

sử dụng hàm cat Nh mảng d mảng có hai hàng, hai cột, ba trang Mảng a tạo trang thứ nhất,

b trang thứ hai, c trang thứ ba Thông số trang diễn tả chiều thứ ba mảng, cung cấp cách hình dung mảng ba chiều nh mảng hai chiều, trang xếp thứ tự từ cuối nh sách Đối với mảng có số chiều cao hơn, khơng có tên chung, khó tởng tợng!

Thao tác với mảng nhiều chiều giống nh thủ tục đa mảng chiều hai chiều Ngồi MATLAB cịn cung cấp số hàm thao tác trực tiếp mảng nhiều chiều:

Các hàm với mảng nhiều chiều

s = size(A) Cho n_số chiều A, trả vector hàng s với n phần tử, phần tử thứ i kích cỡ chiều thứ i mảng A

ndims(A) Số chiều A, tơng tự nh hàm length(size(A)) permute(A, order) n_số chiều, tơng đơng với toán tử chuyển vị chấm ipermute(A, order) Ngợc với hàm permute(A, order)

shiftdim(A, n) Thay đổi số chiều mảng A số nguyên n.

squeeze(A) Trả lại số chiều mảng, tơng đơng với trả lại số chiều lớn ba.

Trang 40

Ví dụ: Sự suy giảm phân rã dùng mảng

Vấn đề: Phân tử polonium có chu kỳ phân rã 140 ngày, có nghĩa phân rã mà khối l ợng

của poloniun lại 1/ so với khôi lợng ban đầu sau 140 ngày Giả sử ban đầu ta có 10 grams polonium, cịn lại sau tuần vòng mời tuần?

Giải pháp: Ta sử dụng phơng pháp giải chơng 2, khối lợng lại sau sau khoảng thời

gian là:

khối lợng lại = khối lợng ban đầu (0.5)thời gian/ chu kỳ

Để giải toán này, gải pháp MATLAB là:

>> initial_amount = 10; % Khối lợng chất polonium ban đầu

Dùng tốn tử mảng làm cho tính giá trị cách đơn giản nhân nhiều giá trị biến Chú ý nhân chấm (.^) đợc sử dụng muốn luỹ thừa 0.5 lên phần tử mảng Những liệu dễ dàng vẽ chúng MATLAB nh hình dới:

>> plot(time/7,amount_left)

>> xlabel(‘Week number’), ylabel(‘Amount of Polonium left’)

Ngày đăng: 01/12/2020, 11:02

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    a) ổ CD ROM

    1.1 Các phép toán đơn giản

    1.2 Không gian làm việc của MATLAB

    1.4 Câu giải thích (comment) và sự chấm câu

    CáC ĐặC tính Kĩ THUậT

    2.1 Các hàm toán học thông thưường

    NHữNG ĐặC ĐIểM CủA CửA Sổ LệNH

    3.1 Quản lí không gian làm việc của MATLAB

    3.2 Ghi và phục hồi dữ liệu

    3.3 Khuôn dạng hiển thị số

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

TÀI LIỆU LIÊN QUAN

w