THỰC HÀNH MATLAB
Trang 1Chương 2
Thực hành tính toán
trên Matlab
Trang 33 13/03/2014
Độ ưu tiên Phép toán Tính ưu tiên
Lập trình tính toán
2.1 Các toán tử cơ bản của Matlab (tt.)
Độ ưu tiên của phép toán:
Trang 42.2 Biến (variable)
Không cần khai báo biến
Một biến sẽ được tự động tạo ra trong quá trình gán dữ liệu cho biến đó
Tên biến: bắt đầu bằng một ký tự chữ, tiếp theo có thể là
ký tự chữ, ký tự số hoặc dấu gạch chân “_”
Ví dụ:
– Hợp lệ: a, a_b1, a1
– Không hợp lệ: _a, 1a, abc*
Lệnh “who” và “whos”: cho biết thông tin về các biến đang hiện hữu
Trang 55 13/03/2014 Lập trình tính toán
2.2 Biến (variable) (tt.)
Một số biến mặc định (hằng số):
quả của phép tính cuối cùng
Trang 62.2 Biến (variable) (tt.)
Một số biến mặc định (tt.):
i, j nargin/nargout Số đối số input/output của hàm
Trang 77 13/03/2014 Lập trình tính toán
2.2 Biến (variable) (tt.)
Xóa giá trị của biến:
Xóa biến x là xóa vùng nhớ đã cấp phát cho biến x
Trang 99 13/03/2014
Ví dụ:
Tìm USCLN của 2^100-1 và 2^60-1
>>gcd(2^52-1,2^30-1)
3 Tìm BSCNN của 45,72
Trang 10Phân tích một số ra tích các thừa số nguyên tố
Trang 1111 13/03/2014
Trang 1313 13/03/2014
Trang 14Khai báo biến hình thức
Khai báo biến:
>> syms a b c hoặc
>> a = sym(‘a’)
Khai báo biến phức:
>>syms x y real hoặc >> x=sym(‘x’,‘real’); y=sym(‘y’,‘real’);
>>z =x+i*y
2.3 Tính toán số học và đại số (tt.)
Trang 1515 13/03/2014
Khai báo biến hình thức (tt.)
>> syms x y
>> g(x,y)=2*x+y
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Trang 16Tính tổng
Hữu hạn:
>> symsum(f(i),m,n)
Vô hạn:
>> symsum(f(i),m,inf)
2.3 Tính toán số học và đại số (tt.)
Trang 1717 13/03/2014
Trang 1919 13/03/2014
Tính tổng (tt.)
Lập trình tính toán
2 1
Trang 2121 13/03/2014
Trang 22Tính tích (tt.)
2.3 Tính toán số học và đại số (tt.)
2 1
11
Trang 2323 13/03/2014
Trang 2525 13/03/2014
Cú pháp:
>>simplify(expr)
>>simple(expr)
Ví dụ: Đơn giản biểu thức
cos5(x) + sin4(x) + 2cos2(x) – 2sin2(x) – cos(2x)
Trang 262.3 Tính toán số học và đại số (tt.)
Đơn giản biểu thức (tt.)
Trang 2727 13/03/2014
Trang 2929 13/03/2014
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Giải phương trình & hệ phương trình
Trang 30 Ví dụ (tt.):
>> solve(f,b)
-(a*x^2+c)/xGiải phương trình x2+2x=1
>> syms x real
>> solve(‘x^2+2*x=1’) hoặc >>solve(x^2+2*x==1)
2^(1/2)-1 -2^(1/2)-1
2.3 Tính toán số học và đại số (tt.)
Giải phương trình & hệ phương trình (tt.)
Trang 3131 13/03/2014 Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Giải phương trình & hệ phương trình (tt.)
Trang 3333 13/03/2014
Phép tính giới hạn
Tính giới hạn của hàm số tại x=0
>> limit(f)
Tính giới hạn của hàm số tại x=a
>> limit(f,x,a) hoặc >>limit(f,a)
Tính giới hạn của hàm số tại vô cùng
>> limit(f,x,inf)
2.4 Phép tính vi phân và tích phân
Lập trình tính toán
Trang 3535 13/03/2014
Giới hạn bên trái – bên phải
Giới hạn bên trái:
Trang 36Giới hạn bên trái – bên phải
2.4 Phép tính vi phân và tích phân (tt.)
Trang 3737 13/03/2014
Trang 384 3 dx
∫
Trang 3939 13/03/2014
Trang 4141 13/03/2014
Tính đạo hàm hàm số nhiều biến
Trang 4343 13/03/2014
Khai triển hàm số thành chuỗi số
Trang 4545 13/03/2014
Trang 4747 13/03/2014
Nhập ma trận bằng hàm load
Ví dụ:
Giả sử ta có một file mt.dat có nội dung như sau (các số
cách nhau bởi khoảng trắng)
Trang 48Nhập ma trận bằng file m
Ví dụ:
Tạo file mt.m bằng Matlab Editor hoặc chương trình soạn
thảo bất kỳ Nội dung file:
sẽ đọc file mt.m, tạo biến A là ma trận như trên
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 4949 13/03/2014
Trang 50Chỉ số vượt khỏi kích thước ma trận
Trang 5151 13/03/2014
Trang 5353 13/03/2014
Trang 5555 13/03/2014
Trang 5757 13/03/2014
Trang 5959 13/03/2014
Trang 6161 13/03/2014
Trang 622.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
Trang 6363 13/03/2014
Trang 6565 13/03/2014
Trang 66Giải phương trình ma trận AX=B
opts: các tham số chỉ tính chất của ma trận A
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 6767 13/03/2014
Giải phương trình ma trận AX=B (tt.)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 5 -7 -2 3 -1
Trang 68Giải phương trình ma trận XA=B
Trang 6969 13/03/2014
Trang 70Các phép biến đổi sơ cấp
2.5 Tính toán trong đại số tuyến tính (tt.)
Biến dòng (cột) i thành k lần dòng (cột) i:
>> A(i,:) = A(i,:) * k
>> A(:,i) = A(:,i) *k
Biến dòng (cột) i thành dòng (cột) i cộng k lần dòng (cột) j:
>> A(i,:) = A(i,:) + A(j,:) * k
>> A(:,i) = A(:,i) + A(:,j) * k
Trang 7171 13/03/2014
Các phép biến đổi sơ cấp (tt.)
Trang 72Các phép biến đổi sơ cấp (tt.)
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 7373 13/03/2014
Các phép biến đổi sơ cấp (tt.)
Trang 74Các phép biến đổi sơ cấp (tt.)
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 7575 13/03/2014
Đa thức đặc trưng, giá trị riêng, vector riêng
Trang 76Đa thức đặc trưng, giá trị riêng, vector riêng (tt.)
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
Trang 7777 13/03/2014
Đa thức đặc trưng, giá trị riêng, vector riêng (tt.)
Trang 78Mảng (Array hoặc Vector)
Khi không làm việc trên đại số tuyến tính, ma trận đơn giản là một mảng hai chiều
Các phép toán cộng, trừ không đổi giữa ma trận và mảng
Đối với phép nhân, Matlab dùng dấu chấm trước các phép toán (mang tính nhân) trên mảng
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 7979 13/03/2014
Phép toán trên mảng một chiều (Vector)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Trang 80Phép toán trên mảng hai chiều (Array)
2.5 Tính toán trong đại số tuyến tính (tt.)
Ví dụ: A=[1 2;3 4] B=[0 1;-1 2]
Trang 8181 13/03/2014
Trang 8383 13/03/2014
Trang 84Các phép toán (tt.)
2.6 Tập hợp (tt.)
Trang 8585 13/03/2014
Trang 8787 13/03/2014