BÀI GIẢNG
LẬP TRÌNH TÍNH TỐN THIẾT KẾ
CHƯƠNG 1. TỔNG QUAN PHẦN MỀM TÍNH TỐN THIẾT KẾ
1. TỔNG QUAN
CHƯƠNG 1. TỔNG QUAN PHẦN MỀM TÍNH TỐN THIẾT KẾ
2. TÀI LIỆU THAM KHẢO
[1]. Fortran Power Station, User Guide, 1998
[2]. Steven C. Chapra. Applied Numerical Methods with MATLAB for Engineers
and Scientists. The McGraw-Hill Companies, 2004
[3]. Hoàng Kiếm. Giải một bài toán như thế nào. NXB Giáo dục, 2000
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.1 KHAI BÁO BIẾN và HẰNG SỐ
Quy định về tên Biến
Chỉ dẫn/ Ví dụ
Tên biến có phân biệt chữ hoa/ chữ
thường
Iterm, iterm, itErm, ITERM là các
biến khác nhau
Tên biến chứa nhiều nhất 31 ký tự
Howaboutthisveriablename
Tên biến bắt đầu phải là chữ cái,
tiếp theo có thể là chữ số, số gạch
dưới
I_term, iterm_1
Ký tự “ . “ khơng được phép dùng
vì nó có ý nghĩa đặc biệt
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.2 CÁC BIẾN ĐẶC BIỆT TRONG MATLAB
Tên biến
Giá trị
ans
Tên biến mặc định dùng để trả về kết quả
pi
Số
eps
Số nhỏ nhất epsilon dùng để cộng với 1 để được số nhỏ
nhất lớn hơn 1
flop
Số của phép tốn số thực
inf
Giá trị vơ cùng
NaN hoặc nan
Giá trị không xác định 0/0
1 – 2i
Ký hiệu số phức
Nargin
Số đối số đưa vào hàm sử dụng
narout
Số đối số hàm đưa ra
3.1415...
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.3 MẢNG VÀ MA TRẬN
Khai báo Mảng và Ma trận
Chỉ dẫn/ Ví dụ
Véc tơ dòng
U= [1 2 5 7 9]
Véc tơ cột
V= [1;2;5;7;9]
Ma trận
A=[ 1 1 1 1 1;
3 5 7 9 11;
2 4 6 8 10;]
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.4 CÁC PHÉP TỐN SỐ HỌC và ĐẠI SỐ
Các phép tốn Số học
Ký hiệu
Ví dụ
Phép cộng
+
a+b
Phép trừ
-
a-b
Phép nhân
*
a*b
Phép chia
/
a/b
Phép lũy thừa
^
a^b
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.4 CÁC PHÉP TỐN SỐ HỌC và ĐẠI SỐ
Các phép tốn trên ma
trận
Ký hiệu
Ví dụ
A= [a1 a2 … an]; B= [b1 b2 … bn ]
Phép cộng
+
A+B
Phép trừ
-
A-B
Phép nhân
.*
A*B
Phép chia phải
./
A./B
Phép chia trái
.\
A.\B
Lũy thừa mảng
.^
A.^B
Chú ý:
Ta chỉ dùng phép nhân chấm hay phép chia chấm để nhân hoặc chia tương
ứng các phần tử thuộc mảng
Đối với phép nhân(*) hoặc phép chia(/, \) yêu cầu số cột và số hàng của
hai ma trận phải tương thích
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.5 ĐỊNH DẠNG DỮ LIỆU
Kiểu Dữ Liệu Matlab
Chỉ dẫn
Ví dụ
format long
16 số
50.33334567891976
format short
5 số
50.333
format short e
5 số với số mũ
5.0333+01
format long e
16 số với số mũ
5.033334567891976+01
format long g
Chính xác hơn
long hoặc long e
50.33334567891976
format short g
Chính xác hơn
short hoặc short e
50.333
format rat
Dạng phân số
305/6
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.6 CÁC PHÉP TỐN QUAN HỆ và LUẬN LÝ
Tốn Tử Quan Hệ
Ý Nghĩa
Ví dụ
<
Nhỏ hơn
a
<=
Nhỏ hơn hoặc bằng
a <= b
>
Lớn hơn
a>b
>=
Lớn hơn hoặc bằng
a >= b
==
Bằng
a == b
~=
Khác (Không bằng)
a ~= b
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.6 CÁC PHÉP TỐN QUAN HỆ và LUẬN LÝ
Tốn Tử Luận Lý
Ý Nghĩa
Ví dụ
&
AND
(A>4) & (A=5)
|
OR
(A>4 )|(A<3)
~
NOT
A~B
Chú ý:
Ngồi các tốn tử quan hệ và luận lý đề cập ở trên , MATLAB còn cung
cấp các hàm luận lý và quan hệ khác. Sinh viên có thể tham khảo trong
menu HELP
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.7 CÁC LỆNH CƠ BẢN THƯỜNG GẶP
Ký Hiệu
Ý Nghĩa
%
Comment- chú thích
,
Nhiều lệnh trên cùng
một dịng
…
Ví dụ
A=2, b=5,c=3;
Xuống dịng
;
Kết thúc câu lệnh;
Khơng hiển thị kết quả
trên cửa sổ lệnh
‘
Chuyển vị của ma trận
A’
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.8 VÒNG LẶP ĐIỀU KHIỂN và ĐIỀU KIỆN
Cấu Trúc Lặp
Ý Nghĩa
Ví Dụ
for ( i= 1:n)
Khối các lệnh
end
Cấu trúc lặp tuần tự, f=[1 2];
không điều kiện
for i=3:10
f(i)=f(i-1)+f(i-2);
end
While (điều kiện)
Khối các lệnh
end
Cấu trúc lặp có điều
kiện
x=10;
while x>1
x=x/2
end
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.8 VÒNG LẶP ĐIỀU KHIỂN và ĐIỀU KIỆN
Cấu Trúc Điều Kiện
Ý Nghĩa
Ví Dụ
if (điều kiện)
Khối các lệnh thỏa mãn
điều kiện
end
Thực thi các delta=b^2-4*a*c;
lệnh nếu điều if (delta<0)
disp(‘Nghiem phuc’)
kiện được thỏa
end
mãn
if (điều kiện)
Khối các lệnh thỏa mãn
điều kiện
else
Khối các lệnh không thỏa
mãn điều kiện
end
Thực thi các delta=b^2-4*a*c;
lệnh nếu điều if (delta>=0)
if(delta>0)
kiện thỏa mãn
x1=(-b+sqrt(delta))/(2*a)
và trường hợp
x2=(-b-sqrt(delta))/(2*a)
ngược lại
else
x=-b/(2*a)
end
end
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.8 VÒNG LẶP ĐIỀU KHIỂN và ĐIỀU KIỆN
Cấu Trúc Điều Kiện
Ý Nghĩa
Ví Dụ
if (điều kiện 1)
Khối các lệnh thỏa mãn
điều kiện 1
elseif (điều kiện 2)
Khối các lệnh thỏa mãn
điều kiện 2
elseif (điều kiện 3)
Khối các lệnh thỏa mãn
điều kiện 3
else
Khối các lệnh thực hiện
nếu khơng có điều kiện
nào đúng
end
Thực thi các
lệnh nếu có
nhiều điều kiện
thỏa mãn và
trường
hợp
ngược lại
x=-1;
if (x==0)
disp('Bad input');
elseif max(x)>0
y=x+1;
else
y=x^2;
end
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.8 VÒNG LẶP ĐIỀU KHIỂN và ĐIỀU KIỆN
Cấu Trúc switch - case
Ý Nghĩa
Ví Dụ
switch (điều kiện )
case (TH1)
Khối các lệnh 1
case (TH2)
Khối các lệnh 2
otherwisse
Khối các lệnh 3
end
Rẽ nhánh thực switch units
thi các khối lệnh
case ‘length’
khác nhau
disp(‘meters’)
case ‘volume’
disp(‘cubic meters’)
case ‘time’
disp(‘hours’)
otherwise
disp(‘not interested’)
end
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Định nghĩa và Khai báo biến hình thức
Khai báo biến hình
thức
Ý Nghĩa
Ví Dụ
syms
Định nghĩa đồng thời nhiều syms x y a b c
biến hình thức
sym
Định nghĩa một biến hình thức
t = sym(‘t’);
Phép tốn đại số tiêu chuẩn
Ví dụ
Phép cộng
+
f+g
Phép trừ
-
f–g
Phép nhân
*
f*g
Phép chia
/
f/g
Phép lũy thừa
^
f^(3*x)
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Phép tốn đại số tiêu chuẩn
>> x=sym('x');
>> f=2*x^2+3*x-5;g=x^2-x+7;
>> f+g
ans = 3*x^2 + 2*x + 2
>> f-g
ans =x^2 + 4*x - 12
>> f*g
ans =(x^2 - x + 7)*(2*x^2 + 3*x - 5)
>> f/g
ans =(2*x^2 + 3*x - 5)/(x^2 - x + 7)
>> f^(3*x)
ans =(2*x^2 + 3*x - 5)^(3*x)
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Phép tính đạo hàm và tích phân
Phép tính đạo hàm
Ý nghĩa
diff(g)
Tính đạo hàm cấp 1 của hàm một biến g(x)
diff(g,2), diff(g,n)
Tính đạo hàm cấp 2, cấp n của hàm một biến g(x)
diff(g,t)
Tính đạo hàm riêng cấp 1 theo biến t của hàm nhiều biến
g(x,y,z,t)
diff(g,t,2)
Tính đạo hàm riêng cấp 2 theo biến t của hàm nhiều biến
g(x,y,z,t)
diff(diff(g,y),x)
Tính đạo hàm riêng cấp 1 theo biến x và biến y của hàm
nhiều biến g(x,y,z,t)
Chú ý:
Hạn chế viết diff(diff(diff(g,z),y),x) vì sẽ gây khó khăn khi kiểm tra lại phép tính
Hàm diff() cũng có thể thao tác trên mảng , ma trận và tính phép vi phân số học
của một vector số và ma trận.
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Phép tính đạo hàm và tích phân
Phép tính tích phân
Ý nghĩa
int(g)
Tính tích phân của hàm một biến g(x)
int(g,a,b)
Tính tích phân xác định của hàm một biến g(x) với cận từ a
đến b
int(g,t,a,b)
Tính tích phân xác định theo biến t của hàm nhiều biến
g(x,y,z,t) với cận từ a đến b
int(int(g,y),x)
Tính tích phân hai lớp
int(int(int(g,z),y),x)
Tính tích phân ba lớp
Chú ý:
Hàm int() cũng có thể thao tác trên mảng , ma trận và tính phép tích phân số học
của một vector số và ma trận.
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Hàm hợp – hàm ngược – Ánh xạ - thay thế biến số và chuyển đổi kiểu
dữ liệu
Các hàm công cụ
Ý nghĩa
compose(f,g)
Định nghĩa hàm hợp f(g(x))
finverse(f)
Trả giá trị hàm ngược f-1
subs()
Thế giá trị biến độc lập vào hàm hoặc đa thức
double()
Chuyển đổi một hằng đặc trưng thành giá trị số kiểu double
solve()
Giải phương trình f(x) = 0
dsolve()
Giải phương trình vi phân
f = @(x) x^2
Định nghĩa ánh xạ hàm một biến số f(x) = x2
g = @(x,y) x^2+y^2
Định nghĩa ánh xạ hàm hai biến số f(x,y) = x2 + y2
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Các thí dụ minh họa
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Định dạng và đơn giản hóa biểu thức
Các hàm cơng cụ
Ý nghĩa
collect()
Nhóm lại các mục giống nhau
factor()
Nhóm đa thức thành tích các đa thức bậc nhất
expand()
Khai triển đa thức
simplify()
Đơn giản (rút gọn) đa thức
simple()
Tìm biểu thức tương đương có chuỗi ký tự ngắn nhất
horner()
Hạ bậc đa thức theo quy tắc horner
pretty()
Định dạng đa thức theo cách viết hình thức thơng thường
trong tốn học
CHƯƠNG 2. CÁC CẤU TRÚC DỮ LIỆU CƠ BẢN
2.9 LẬP TRÌNH TÍNH TỐN HÌNH THỨC
Các thí dụ minh họa