2.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.
80 trang |
Chia sẻ: candy98 | Lượt xem: 742 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình tính toán Matlab - Chương 2: Thực hành tính toán trên Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2
Thực hành tính toán
trên Matlab
2 06/05/2013
Phép toán Mô tả
+ x+y
- x-y
* x*y
/ x/y
\ x\y = y/x
^ x^y
Lập trình tính toán
2.1 Các toán tử cơ bản của Matlab
3 06/05/2013
Độ ưu tiên Phép toán Tính ưu tiên
1 (,) Từ trong ra ngoài
2 ^ Từ trái qua phải
3 ±a
4 *,/,\ Từ trái qua phải
5 +,- Từ trái qua phải
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:
4 06/05/2013 Lập trình tính toán
2.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.
5 06/05/2013 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ố):
Tên biến Giá trị / Ý nghĩa
ans Tên biến mặc định dùng để lưu kết
quả của phép tính cuối cùng
pi π = 3.14159
eps epsilon = 2-52
inf Vô cực (∞)
nan hay NaN Not a Number (vô định)
6 06/05/2013 Lập trình tính toán
2.2 Biến (variable) (tt.)
Một số biến mặc định (tt.):
Tên biến Giá trị / Ý nghĩa
i, j i = j =
nargin/nargout Số đối số input/output của hàm
realmin Số thực dương nhỏ nhất (2-1022)
realmax
Số thực dương lớn nhất
((2-esp)*21023)
e
Nhân lũy thừa của 10
(5e2 = 5*102 = 500)
1−
7 06/05/2013 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.
Lệnh Ý nghĩa
clear x Xóa một biến x
clear x y z Xóa một lúc nhiều biến
clear Xóa hết các biến hiện hữu
8 06/05/2013
Tìm USCLN, BSCNN
Lệnh tìm USCLN
>> gcd(a,b)
Lệnh tìm BSCNN
>> lcm(a,b)
Lập trình tính toán
2.3 Tính toán số học và đại số thông dụng
9 06/05/2013
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
>>lcm(45,72)
360
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Tìm USCLN, BSCNN (tt.)
10 06/05/2013
Phân tích một số ra tích các thừa số nguyên tố
Cú pháp
>> factor(số)
Ví dụ: Phân tích 1223456789
>>factor(1223456789)
3109 393521
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
11 06/05/2013
Tìm số nguyên tố
Trước một số a cho trước
>> primes(a)
Xác định a có phải là số nguyên tố hay không
>> isprime(a)
Ví dụ: Tìm các số nguyên tố trước số 20?
>> primes(20)
2 3 5 7 11 13 17 19
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
12 06/05/2013
Tìm phần dư
>> rem(a,b) hoặc >>mod(a,b)
Ví dụ:
>> rem(16,-12)
4
>> mod(16,-12)
-8
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
13 06/05/2013
Dạng hiển thị số
>>format
Lập trình tính toán
Kiểu Hiển thị Ví dụ
short (mặc định) 4 chữ số thập phân 3.1416
long 15 chữ số thập phân 3.141592653589793
bank 2 chữ số thập phân 3.14
rat Dạng phân số a/b 355/113
2.3 Tính toán số học và đại số (tt.)
14 06/05/2013
Khai 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
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
15 06/05/2013
Khai báo biến hình thức (tt.)
Khai báo hàm số:
>> syms f(a,b)
>> f(a,b)=2*a+b
>> f(2,3)
7
Hoặc
>> 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.)
16 06/05/2013
Tính tổng
Hữu hạn:
>> symsum(f(i),m,n)
Vô hạn:
>> symsum(f(i),m,inf)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
17 06/05/2013
Tính tổng (tt.)
Ví dụ:
Tính
>>symsum((1+x)/(1+x^2),1,10)
2745615458
------------------
846523925
Lập trình tính toán
∑
= +
+10
1
21
1
x x
x
2.3 Tính toán số học và đại số (tt.)
18 06/05/2013
Tính tổng (tt.)
Ví dụ:
Tính
>> syms k
>> symsum(k^3)
Lập trình tính toán
∑
−
=
1
0
3
n
k
k
424
234 kkk
+−
2.3 Tính toán số học và đại số (tt.)
19 06/05/2013
Tính tổng (tt.)
Ví dụ:
Tính
>> symsum(1/(k^2),1,inf)
Lập trình tính toán
2
1
1
k k
∞
=
∑
2
6
π
2.3 Tính toán số học và đại số (tt.)
20 06/05/2013
Tính tích
Hữu hạn:
>> symprod(f(i),m,n)
Vô hạn:
>> symprod(f(i),m,inf)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
21 06/05/2013
Tính tích (tt.)
Ví dụ:
Tính
>> symprod((k^2-1)/k^2,2,20)
21/40
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
∏
=
−20
2
2
2 1
k k
k
22 06/05/2013
Tính tích (tt.)
Ví dụ (tt.):
Tính Công thức Euler
>> syms n
>> symprod(1-1/(4*n^2),1,inf)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
2
1
11
4n n
∞
=
−
∏
2
π
23 06/05/2013
Cú pháp:
>>expand(expr)
Ví dụ: Khai triển (x + y)4
>> expand((x+y)^4)
x4 + 4x3y + 6x2y2 + 4xy3 + y4
Lập trình tính toán
Khai triển biểu thức đại số
2.3 Tính toán số học và đại số (tt.)
24 06/05/2013
Cú pháp:
>>factor(expr)
Ví dụ:
>>expr1=(x-1)*(x-2)*(x-3)
expr1=(x-1)(x-2)(x-3)
>>expr2=expand(expr1)
expr2=x3-6x2+11x-6
>>factor(expr2)
(x-3)(x-1)(x-2)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Phân tích thành nhân tử
25 06/05/2013
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)
>>simplify(cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x))
cos(x)5 + cos(x)4
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Đơn giản biểu thức
26 06/05/2013
Ví dụ (tt.): Đơn giản biểu thức
>>simple((1/x^3+6/x^2+12/x+8)^1/3)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Đơn giản biểu thức (tt.)
3
3 8
1261
2
+++
xxx
3
3
3
)12(
x
x +
27 06/05/2013
Cú pháp:
>>subs(expr,old,new)
Ví dụ:
>> syms z
>> expr=x^2+y^2-2*z^2*x
x2 – 2xz2 + y2
>> subs(expr,{x,y},{1,z})
1 – z2
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Tính giá trị biểu thức
28 06/05/2013
Cú pháp:
>>[N D]=numden(frac)
Ví dụ:
>> [N D]=numden(x/y+y/x)
N = x2 + y2
D = xy
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
Tính tử và mẫu của phân số
29 06/05/2013
Cú pháp:
>> solve(eqns)
Ví dụ: Giải phương trình ax2+bx+c=0
>> syms a b c x;
>> f=a*x^2+b*x+c;
>> solve(f)
-(b+(b^2-4*a*c)^(1/2))/(2*a)
-(b-(b^2-4*a*c)^(1/2))/(2*a)
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
30 06/05/2013
Ví dụ (tt.):
>> solve(f,b)
-(a*x^2+c)/x
Giả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
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.)
31 06/05/2013
Ví dụ (tt.):
Giải hệ phương trình
>> syms a b c real
>> eqn1=a+5*b-7*c==13;
eqn2=-2*a+3*b-c==1;
eqn3=a+2*b-4*c-4==0;
>>s=solve(eqn1,eqn2,eqn3);
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.)
5 7 13
2 3 1
2 4 4 0
a b c
a b c
a b c
+ − =
− + − =
+ − − =
32 06/05/2013
Ví dụ (tt.):
>> s.a
10
>> s.b
9
>> s.c
6
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.)
33 06/05/2013
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
34 06/05/2013
Ví dụ:
>> limit(sin(x)/x)
1
>> limit(exp(x),inf)
Inf
>> limit(exp(x),-inf);
0
>> limit(1/x, x=0, real)
NaN
Phép tính giới hạn (tt.)
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
35 06/05/2013
Giới hạn bên trái – bên phải
Giới hạn bên trái:
>> limit(f, a, ‘left’);
Giới hạn bên phải:
>> limit(f, a, ‘right’);
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
36 06/05/2013
Ví dụ:
Cho hàm số
Xét tính liên tục của hàm số trên.
>> f=x/abs(x);
>> limit(f,x,0, ‘left’)
-1
>>limit(f,x,0,‘right’)
1
Giới hạn bên trái – bên phải
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
x
xf =
37 06/05/2013
Tích phân bất định:
>> int(f,x) hoặc int(f)
Ví dụ:
>> int(1/(x^2-4*x+3),x)
log(x-3)/2 - log(x-1)/2
Lập trình tính toán
Tính tích phân
2.4 Phép tính vi phân và tích phân (tt.)
38 06/05/2013
Tính tích phân (tt.)
Tích phân xác định:
>> int(f,a,b)
Ví dụ:
Tính tích phân
>> int(1/(x^2-4*x+3),4,6)
log((3*5^(1/2))/5)
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
6
24
1
4 3
dx
x x− +∫
39 06/05/2013
Tính tích phân (tt.)
Tích phân xác định (tt.):
Ví dụ (tt.):
Tính tích phân
>> int(sqrt(exp(2*x)+cox(x)^2+1),0,pi)
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
2 2
0
cos( ) 1xe x dx
π
+ +∫
40 06/05/2013
Tính đạo hàm hàm số một biến
Cú pháp:
>> diff(f(x))
Ví dụ: Tính đạo hàm của hàm số
f(x) = cos2(x)/sin(2x)
>> f=cos(x)^2/sin(2*x);
>> f_diff=diff(f)
-(2cos(2x)cos2(x)/sin2(2x)-2cos(x)sin(x))/sin(2x)
>> simplify(f_diff)
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
2
1
2sin( )x
−
41 06/05/2013
Tính đạo hàm hàm số nhiều biến
Cú pháp:
>> diff(f(x,y),x)
Ví dụ: Tính đạo hàm của hàm số
g(x,y) = y*cos(xy)
>> g=y*cos(x*y);
>> g_diff=diff(g,x)
-y^2*sin(x*y)
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
42 06/05/2013
Đạo hàm cấp cao
Đạo hàm cấp hai:
>> diff(f,2) hoặc >> diff(diff(f))
>>diff(f,x,2)
Đạo hàm cấp k:
>> diff(f,k)
Ví dụ:
>> diff(x^3-2*x^2,3)
6
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
43 06/05/2013
Khai triển hàm số thành chuỗi số
Cú pháp:
>> taylor(f,‘Order’,m)
Ví dụ: Khai triển y=sin(2x).cos(x) tới bậc 15 tại x=0
>> approx=taylor(sin(2*x)*cos(x),‘Order’,15)
(398581*x^13)/3113510400 – (44287*x^11)/19958400 +
(703*x^9)/25920 – (547*x^7)/2520 + (61*x^5)/60 – (7*x^3)/3 +
2*x
Lập trình tính toán
2.4 Phép tính vi phân và tích phân (tt.)
44 06/05/2013
Nhập ma trận
Nhập trực tiếp danh sách các phần tử
Phát sinh ma trận bằng các hàm sẵn có
Nhập từ file
Tạo ma trận bằng các file .m
Ví dụ:
>> A = [1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính
Dấu “[” và “]” mở
đầu và kết thúc nhập
ma trận.
Dấu “;” kết thúc
một dòng.
Các phần tử cách
nhau bằng “khoảng
trắng” hoặc dấu “,”
45 06/05/2013
Phát sinh ma trận bằng hàm sẵn có
Cú pháp:
Ma trận 0
>> zeros(m,n)
m, n: kích thước ma trận
Ma trận 1
>> ones(m,n)
Ma trận đơn vị
>> eye(n)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
46 06/05/2013
Phát sinh ma trận bằng hàm sẵn có (tt.)
Cú pháp (tt.):
Ma trận đường chéo
>> diag([a,b,c,])
Ma phương
>> magic(n)
Ma trận các số thực ngẫu nhiên từ 0 đến 1
>> rand(m,n)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
47 06/05/2013
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)
1 2 3
4 5 6
7 8 9
Dòng lệnh
>>load mt.dat
sẽ đọc file mt.dat, tạo biến có tên là mt, là ma trận các
phần tử có trong file mt.dat.
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
48 06/05/2013
Nhậ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:
A=[1 2 3
4 5 6
7 8 9]
Dòng lệnh
>>mt
sẽ đọc file mt.m, tạo biến A là ma trận như trên.
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
49 06/05/2013
Trích một phần tử trong ma trận
Cú pháp:
>>A(i,j)
i: chỉ số dòng
j: chỉ số cột
Ví dụ:
>> A(3,2)
8
>> A(4) %phần tử thứ 4 duyệt theo cột từ trái qua phải, từ trên
xuống dưới.
2
Lập trình tính toán
A =
1 2 3
4 5 6
7 8 9
2.5 Tính toán trong đại số tuyến tính (tt.)
50 06/05/2013
Chỉ số vượt khỏi kích thước ma trận
Ví dụ:
>> A(4,5)
Index exceeds matrix dimensions
>> X=A
>> X(3,4)=10
X =
1 2 3 0
4 5 6 0
7 8 9 10
Lập trình tính toán
A =
1 2 3
4 5 6
7 8 9
2.5 Tính toán trong đại số tuyến tính (tt.)
51 06/05/2013
Dấu hai chấm “:”
Ví dụ:
>> 1:10
ans =
1 2 3 4 5 6 7 8 9 10
%tạo bước tăng/giảm khác 1
>> 100:-7:50
ans =
100 93 86 79 72 65 58 51
>> 0:pi/4:pi
ans =
0 0.7854 1.5708 2.3562 3.1416
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
52 06/05/2013
Dấu hai chấm “:” (tt.)
Ví dụ (tt.):
>> A(1,1:2) %dãy 2 phần tử đầu tiên ở dòng thứ 1 của A
ans =
1 2
>> sum(A(1:2,1)) %tổng 3 số đầu tiên ở cột 1 của A
ans =
5
>> A(1,:)%toàn bộ phần tử của dòng 1
ans =
1 2 3
>> A(end,1) %phần tử cuối cùng của cột 1
ans =
7
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
53 06/05/2013
Trích nhiều phần tử trong ma trận
Ví dụ:
>> A(2,[3,1]) %phần tử thứ 3 và thứ 1 của dòng 2 của A
ans =
6 4
>> x=[2 1 5 8]
x =
2 1 5 8
>> x([2,4])
ans =
1 8
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
54 06/05/2013
Ghép hai ma trận
Ví dụ:
Thêm cột:
>>D=[A B]
D =
1 2 3 10 11
4 5 6 12 13
Thêm dòng:
>>E=[A;C]
E =
1 2 3
4 5 6
7 8 9
9 7 8
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
B =
10 11
12 13
C =
7 8 9
9 7 8
55 06/05/2013
Xóa dòng, xóa cột
Ví dụ:
Xóa cột:
>>D(:,2)=[]
D =
1 3 10 11
4 6 12 13
Xóa dòng:
>>D(2;:)=[]
D =
1 3 10 11
Xóa nhiều phần tử:
>>E(1:2:10)=[]
E =
4 9 5 7 6 9 8
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
D =
1 2 3 10 11
4 5 6 12 13
E =
1 2 3
4 5 6
7 8 9
9 7 8
56 06/05/2013
Tổng các cột của ma trận
Cú pháp:
>>sum(A)
Ví dụ:
>> sum(A)
ans =
12 15 18
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
57 06/05/2013
Ma trận chuyển vị
Cú pháp:
>>A’
Ví dụ:
>> A’
ans =
1 4 7
2 5 8
3 6 9
Lập trình tính toán
A =
1 2 3
4 5 6
7 8 9
2.5 Tính toán trong đại số tuyến tính (tt.)
58 06/05/2013
Đường chéo ma trận
Cú pháp:
>>diag(A)
Ví dụ:
>> diag(A)
1
5
9
Lập trình tính toán
A =
1 2 3
4 5 6
7 8 9
2.5 Tính toán trong đại số tuyến tính (tt.)
59 06/05/2013
Phép cộng, trừ hai ma trận
Ví dụ:
Cộng hai ma trận:
>>A+B
ans =
1 3 5
6 8 10
14 14 14
Trừ hai ma trận:
>>A-B
ans =
1 1 1
2 2 2
0 2 4
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
B =
0 1 2
2 3 4
7 6 5
60 06/05/2013
Phép nhân hai ma trận
Ví dụ:
>>A*B
ans =
25 25 25
52 55 58
79 85 91
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
B =
0 1 2
2 3 4
7 6 5
61 06/05/2013
Lũy thừa ma trận
Cú pháp:
>>A^m
Ví dụ:
>>A^2
ans =
30 36 42
66 81 96
102 126 150
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
62 06/05/2013
Ma trận nghịch đảo
Cú pháp:
>>A^(-1)
Hoặc
>>inv(A)
Ví dụ:
>>inv(A)
ans =
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
63 06/05/2013
Định thức của ma trận
Cú pháp:
>>det(A)
Ví dụ:
>>det(A)
ans =
0
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
64 06/05/2013
Rút gọn dạng ma trận bậc thang
Cú pháp:
>>rref(A)
Ví dụ:
>>rref(A)
ans =
1 0 -1
0 1 2
0 0 0
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
65 06/05/2013
Hạng của ma trận
Cú pháp:
>>rank(A)
Ví dụ:
>>rank(A)
ans =
2
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
A =
1 2 3
4 5 6
7 8 9
66 06/05/2013
Giải phương trình ma trận AX=B
Cú pháp:
A\B=A-1B
Hoặc
mldivide(A,B)
Hoặc
linsolve(A,B,opts)
opts: các tham số chỉ tính chất của ma trận A
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
67 06/05/2013
Giải phương trình ma trận AX=B (tt.)
Ví dụ:
Giải hệ
>>X=linsolve(A,B)
X =
10.0000
9.0000
6.0000
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
1 2 -4
B =
13
1
4
5 7 13
2 3 1
2 4 4 0
a b c
a b c
a b c
+ − =
− + − =
+ − − =
68 06/05/2013
Giải phương trình ma trận XA=B
Cú pháp:
A/B
Hoặc
mrdivide(A,B)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
69 06/05/2013
Phép cộng, nhân giữa một số và một ma trận
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Ví dụ: A=[1 2;3 4]
>>A+3
A =
4 5
6 7
>>A*2
A =
2 4
6 8
70 06/05/2013
Các phép biến đổi sơ cấp
Lập trình tính toán
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
71 06/05/2013
Các phép biến đổi sơ cấp (tt.)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Hoán vị dòng (cột) i và dòng (cột) j:
A = A([thứ tự dòng],:)
A = A(:,[thứ tự cột])
72 06/05/2013
Các phép biến đổi sơ cấp (tt.)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Ví dụ: A=[2 4;3 8;6 7]
Biến dòng 1 thành 10 lần dòng 1:
>>A(1,:) = A(1,:) * 10
A =
20 40
3 8
6 7
73 06/05/2013
Các phép biến đổi sơ cấp (tt.)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Ví dụ (tt.):
Biến dòng 2 thành dòng 2 cộng 3 lần dòng 3:
>>A(2,:) = A(2,:) + A(3,:) * 3
A =
20 40
21 29
6 7
74 06/05/2013
Các phép biến đổi sơ cấp (tt.)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Ví dụ (tt.):
Hoán vị dòng 2 và dòng 3:
>>A = A([1 3 2],:)
A =
20 40
6 7
21 29
75 06/05/2013
Đa thức đặc trưng, giá trị riêng, vector riêng
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Cú pháp:
Đa thức đặc trưng
>>p = poly(A)
Tính nghiệm của đa thức đặc trưng
>>roots(p)
Giá trị riêng, vector riêng
>>[V, D] = eig(A)
76 06/05/2013
Đa thức đặc trưng, giá trị riêng, vector riêng (tt.)
Lập trình tính toá