Lttt matlab chuong 3
-
Upload
hoa-co-may -
Category
Documents
-
view
115 -
download
1
Transcript of Lttt matlab chuong 3
![Page 1: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/1.jpg)
Chương 3
Lập trình trên Matlab
![Page 2: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/2.jpg)
2 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản Nhập/xuất
Nhập
>> input(prompt)
Hoặc >> input(prompt, ‘s’)
Ví dụ: >> x = input(‘Nhap vao gia tri cua x: ’)
>> str = input(‘Nhap vao chuoi str: ’, ‘s’)
![Page 3: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/3.jpg)
3 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Nhập/xuất (tt.)
Xuất
>> disp(X)
Hoặc >> fprintf(formatSpec,A1,…,An)
Ví dụ: >> x = input(‘Nhap vao gia tri cua x: ’)
>> disp(x)
>> str = input(‘Nhap vao chuoi str: ’, ‘s’)
>> fprintf(‘Chuoi str: %s\n’, str)
![Page 4: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/4.jpg)
4 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Nhập/xuất (tt.)
Xuất (tt.)
Một số định dạng của fprintf: Kiểu Định dạng
Integer, signed %d hoặc %i
Floating-point number %f
Single Character %c
String if characters %s
![Page 5: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/5.jpg)
5 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Nhập/xuất (tt.)
Xuất (tt.)
Một số định dạng của fprintf (tt.): Ý nghĩa Định dạng
Xuống hàng \n
Tab \t
Ký tự “\” \\
Ký tự “%” %%
![Page 6: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/6.jpg)
6 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Lệnh điều kiện if
Cú pháp:
if <conditional expression>
<statement sequences>
elseif <conditional expression>
<statement sequences>
else
<statement sequences>
end
![Page 7: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/7.jpg)
7 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Lệnh điều kiện if (tt.)
Ví dụ 1: if delta<0 disp(‘Phuong trinh vo nghiem’) elseif delta == 0 disp(‘Phuong trinh co nghiem kep’) -b/2/a else disp(‘Phuong trinh co 2 nghiem phan biet’) (-b-sqrt(delta))/2/a (-b+sqrt(delta))/2/a end
![Page 8: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/8.jpg)
8 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Lệnh điều kiện if (tt.)
Ví dụ 2: a = input(‘Nhap a =’) if a > 0 disp(‘so duong’) if mod(a,2) ~= 0 disp(‘so le’) else disp(‘so chan’) end else disp(‘khong duong’) end
![Page 9: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/9.jpg)
9 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Lệnh điều kiện switch
Cú pháp:
switch <switch expression> case <case expression> <statement sequences> case <case expression> <statement sequences> … otherwise <statement sequences> end
![Page 10: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/10.jpg)
10 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Lệnh điều kiện switch (tt.)
Ví dụ: switch thang case {1,3,5,7,8,10,12}, ngay=31 case {4,6,9,11}, ngay=30 case 2 if nhuan(nam) ngay=29 else ngay=28 end otherwise disp(‘thang khong hop le’) end
![Page 11: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/11.jpg)
11 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Vòng lặp while
Cú pháp:
while <conditional expression> <statement sequences> end Ví dụ: Tìm USCLN của 2 số nguyên theo thuật toán Euclide
![Page 12: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/12.jpg)
12 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Vòng lặp while (tt.)
Ví dụ (tt.): x=30; y=12; m=x; n=y; while y~=0 r=mod(x,y); x=y; y=r; end; fprintf(‘Uoc chung lon nhat cua %d va %d la: %d\n’,m,n,x)
Nhập x,y
Y<>0
r := x mod y
x:=y
y:=r
In ra x
![Page 13: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/13.jpg)
13 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Vòng lặp for
Cú pháp: for index=value <program statements> end Ví dụ 1: for s = [1,5,8,17] disp(s) end
![Page 14: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/14.jpg)
14 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Vòng lặp for (tt.)
Ví dụ 2: for i = 1:3 for j = 1:3 H(i,j) = 1/(i+j); end end H = 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 0.2500 0.2000 0.1667
![Page 15: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/15.jpg)
15 20/05/2013 Lập trình tính toán
3.1 Các lệnh lập trình cơ bản (tt.) Break
break dùng để thoát ngang vòng lặp hiện tại Ví dụ: Nhập n, kiểm tra n có phải là số nguyên tố hay không n = input (‘Nhap n: ’) for i = 2:n-1 if mod(n,i)==0 disp(‘n khong la so nguyen to’) break end end
![Page 16: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/16.jpg)
16 20/05/2013 Lập trình tính toán
3.2 Cách tạo lập hàm Script
Là các dòng lệnh Matlab được chứa trong một file có phần mở rộng .m File script có thể được soạn thảo bằng Matlab Editor hoặc các chương trình soạn thảo khác Để thực thi script chỉ cần gọi tên file trong cửa sổ dòng lệnh của Matlab.
![Page 17: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/17.jpg)
17 20/05/2013 Lập trình tính toán
3.2 Cách tạo lập hàm (tt.) Hàm
Cũng là một file.m có thể nhận tham số và trả về các giá trị. Tên hàm phải trùng với tên file.m. Gọi lệnh bằng cách gõ tên hàm (tên file.m) Cú pháp:
function tri_tra_ve = ten_ham (tham_so) Sau dòng này, các dòng chú thích bắt đầu bằng dấu “%” sẽ xuất hiện khi gọi lệnh help tên_hàm.
![Page 18: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/18.jpg)
18 20/05/2013 Lập trình tính toán
3.2 Cách tạo lập hàm (tt.) Hàm (tt.)
Ví dụ: File tbc.m có nội dung như sau: function s = tbc(x)
s = sum(x(:))/length(x(:));
Gọi lệnh: >>t = tbc([2 3 4 5 6])
t = 4
![Page 19: Lttt matlab chuong 3](https://reader035.fdocuments.net/reader035/viewer/2022080214/55aa44d91a28ab82658b471e/html5/thumbnails/19.jpg)
19 20/05/2013 Lập trình tính toán
3.2 Cách tạo lập hàm (tt.) Hàm (tt.)
Hàm phụ: • Khác tên hàm chính, chỉ nhằm hỗ trợ tính toán cho tên hàm chính trong script hàm • Hàm phụ nằm sau hàm chính • Ví dụ: File chinh.m
function c = chinh(A) c = phu(A) – 1 function d = phu(B) d = min(B(:))
Gọi hàm: >> chinh([23 2 34])
ans = 1