Professional Documents
Culture Documents
Chapter 1 - Bắt đầu với MATLAB - Slides
Chapter 1 - Bắt đầu với MATLAB - Slides
Giảng viên:
Họ tên:Đinh Trần Hiệp
Email: tranhiep.dinh@vnu.edu.vn
A = rand(8,8)
b = det(A)
A=
b = -0.0117
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
Vẽ hình 2D
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
h = plot(x,y,'--rs')
set(h,'linewidth',2,'markeredgecolor','k','markerfacecolor','g','markersize',10)
Đồ thị hàm số
2 y = tan(sinx) - sin(tanx)
1
-1
-2
-3
-4 -3 -2 -1 0 1 2 3 4
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
Vẽ hình 3D
x = -3:.1:3; 6
y = -3:.1:3;
[X,Y] = meshgrid(x,y); 4
Z = X.^2./3 + 2.*sin(3.*Y);
surf(X,Y,Z) 2
-2
4
2 4
0 2
0
-2 -2
-4 -4
Đồ thị hàm số
z = x2/2 + 2sin(3y)
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
160
y = @(x)exp(x/2) - sqrt(x) - 3;
140
x1 = fzero(y,[0,10])
120
100
80
60
x1 = 3.1236
40
20
-20
0 1 2 3 4 5 6 7 8 9 10
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
syms x y x0 = 3
eq1 = x*sqrt(12 - y) + sqrt(y*(12 - x^2)) - 12; y0 = 3
eq2 = x^3 - 8*x - 1 - 2*sqrt(y-2);
[x0,y0] = solve(eq1,eq2)
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
sin(x)/(x6+1)
0.2
fmin = -0.7344
0
-0.2
-0.4
-0.6
syms x b
f = sqrt(x^2 + b)
I4 = int(f,x)
I4 =
1/2*x*(x^2+b)^(1/2)
+ 1/2*b*log(x+(x^2+b)^(1/2))
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
I12 = 0.4292
I13 = 2.4674
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
Vẽ đồ thị nghiệm của phương trình vi phân sau trên đoạn [1,2], biết y(1) = 1/10
1.6
1.4
1.2
y0 = 1/10; 0.8
[x,y] = ode45(f,[1:.01:2],y0)
plot(x,y) 0.6
0.4
0.2
0
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
Giải phương trình vi phân sau, vẽ đồ thị nghiệm với t trong khoảng [0,7]
nghiem = 15/4*t^2
10
8
- 9075/8*exp(2/25*t)
6
+ 375/4*t+9091/8
4
-2
-4
-6
-8
-10
0 1 2 3 4 5 6 7
t
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
1
function ptvp_baccao 0.8
0.6
plot(x,y(:,1)) 0.2
dy = dy'; -0.8
-1
0 1 2 3 4 5 6 7
MỘT SỐ ỨNG DỤNG ĐƠN GIẢN CỦA MATLAB
Viết chương trình giải phương trình bậc hai với hệ số a,b,c tùy ý nhập từ bàn phím
Cửa sổ figure
CÁC CỬA SỔ CHÍNH CỦA MATLAB
Cửa sổ Help
LÀM VIỆC VỚI CỬA SỔ COMMAND
Thứ tự ưu tiên:
Dấu ngoặc > Lũy thừa > Nhân, Chia > Cộng, Trừ
CÁC PHÉP TOÁN CƠ BẢN
>> 7 + 8/2 Lưu ý thứ tự thực hiện phép toán
ans = 11
>> (7 + 8)/2
ans = 7.5000
Thêm 2 dòng trắng giữa các dòng lệnh, dòng kết quả
MỘT SỐ HÀM CÓ SẴN ĐƠN GIẢN
Lệnh Mô tả Ví dụ
exp(x) ex
abs(x) |x|
log(x) Logarit cơ số tự
nhiên (ln)
log10(x) Logarit cơ số 10
factorial(x) x!
MỘT SỐ HÀM CÓ SẴN ĐƠN GIẢN
Lệnh Mô tả Ví dụ
Lệnh Mô tả Ví dụ
Khai báo lại biến: một biến có thể được khai báo lại giá trị
vào bất kỳ thời điểm nào
>> ABB Giá trị hiện tại của ABB được hiển thị (là 9)
ABB = 9
QUY TẮC ĐẶT TÊN BIẾN
ans Biến này có giá trị bằng với giá trị của biểu thức
cuối cùng không được gán cho một biến cụ thể nào
Số pi
pi
Vô cùng
inf
Căn của -1
i,j
Not-a-number, ví dụ 0/0
NaN
CÁC LỆNH QUẢN LÝ BIẾN
- Là tập hợp nhiều câu lệnh, định dạng tệp là .m nên còn gọi là m-file
- Khi thực thi một m-file thì MATLAB sẽ thực hiện tất cả các lệnh có trong m-file
đó
- Sử dụng m-file tạo sự thuận tiên cho việc chỉnh sửa lặp lại nhiều lần
- Có thể tạo m-file bằng bất kỳ phần mềm xử lý văn bản nào, rồi copy và paste
lại vào MATLAB. Ngược lại, có thể mở một m-file bằng một phần mềm xử lý
văn bản bất kỳ
- Quy tắc đặt tên m-file cũng giống với quy tắc đặt tên các biến
SCRIPT FILE (m - file)
Phím Run
Nếu một m-file nằm ngoài Current Folder được gọi, thì sẽ xuất hiện cửa sổ sau, đề nghị
thay đổi Current Folder
VÍ DỤ 1
x tanx sinx
Kiểm tra đẳng thức lượng giác: cos 2
2 2tanx
bằng cách thay thế giá trị x
5
>> x = pi/5;
>> VT = cos(x/2)^2
VT = 0.9045
Một vật có nhiệt độ ban đầu T0 tại thời điểm t = 0 được đặt vào trong bình chứa
có nhiệt độ TS sẽ có nhiệt độ biến đổi theo thời gian theo công thức
T TS T0 TS e kt
Với P = 5000 gửi vào tài khoản 1 có thời hạn 1 năm trong 17 năm, lãi suất
0.085/năm
Cũng với P = 5000 gửi vào tài khoản 2 có thời hạn 1 tháng, cũng với lãi suất
0.085/năm
Tính số tháng cần gửi theo tài khoản 2 để có được giá trị B giống như tài khoản 1.
P = 5000; r = .085; t1 = 17; n = 12; >> format short g
B = P*(1 + r)^t1 B= 20011
t2 = log(B/P)/(n*log(1 + r/n)) t2 = 16.374
nam = 16
nam = fix(t2) thang = 5
thang = ceil((t2 - nam)*12)