1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Giải tích mạch và mô phỏng trên máy tính: Phần 2 ĐH Phạm Văn Đồng

49 212 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

(NB) Phần 2 Bài giảng Giải tích mạch và mô phỏng trên máy tính gồm có 4 chương trình bày các nội dung sau Chương 4: Các lệnh điều khiển trong MATLAB, Chương 5: Đồ họa trong MATLAB, Chương 6: Các bài toán đại số tuyến tính và phương trình vi phân, Chương 7: Simulink.

Trang 1

31

Chương 4 CÁC LỆNH ĐIỀU KHIỂN TRONG MATLAB

4.1 Các lệnh rẽ nhánh: if end, switch end

4.1.1 Lệnh if … end

Nhiều khi chúng ta cần những câu lệnh được thực hiện theo một điều kiện nào đó

Trong ngôn ngữ lập trình, logic này được cung cấp bởi cấu trúc if … end Cú pháp của

cấu trúc này như sau:

If < biểu thức điều kiện>

khối các lệnh

end

Khối các lệnh giữa hai trạng thái if và end được thực hiện khi tất biểu thức điều kiện

là đúng Trong trường hợp điều kiện bao gồm các điều kiện con, thì tất cả các điều kiện con được tính và trả về một trạng thái logic của điều kiện

Trong trường hợp có hai điều kiện thay đổi, cấu trúc if-else-end là:

if Biểu thức điều kiện

Khối các lệnh được thực hiện nếu điều kiện là đúng

else

Khối các lệnh được thực hiện nếu điều kiện là sai

end

Khi có ba hoặc nhiều điều kiện thay đổi, cấu trúc của nó sẽ là:

if Biểu thức điều kiện 1

Khối các lệnh được thực hiện nếu điều kiện 1 là đúng

elseif Biểu thức điều kiện 2

Khối các lệnh được thực hiện nếu điều kiện 2 là đúng

elseif Biểu thức điều kiện 3

Khối các lệnh được thực hiện nếu điều kiện 3 là đúng

elseif Biểu thức điều kiện 4

Trang 2

Trong mẫu dạng này thì khi biểu thức điều kiện đầu tiên đúng thì các câu lệnh sau

không được kiểm tra nữa, các cấu trúc if-else-end còn lại được bỏ qua Hơn nữa câu lệnh

else ở cuối có thể không cần cho vào

Ví dụ 1: Giải phương trình bậc nhất dạng tổng quát sau: ax + b = 0

Nhận xét:

Khi a ≠ 0 thì phương trình có nghiệm x = -b/a

Khi a = 0 thì xét hệ số b

Nếu b ≠ 0: phương trình vô nghiệm

b = 0: phương trình có vô số nghiệm

Từ đó ta xây dựng chương trình matlab như sau:

a=input( 'nhap a=' );

disp( 'ptvsn' ) end

end

Tương tự ta xét ví dụ 2: Giải phương trình bậc 2 có dạng tổng quát sau:

ax2 + bx + c = 0 (a ≠ 0)

Lập luận và đưa tới chương trình sau:

disp( 'giai phuong trinh bac hai' )

a=input( 'nhap a=' );

Trang 3

Khi một chuỗi các lệnh đánh giá dựa trên một biểu thức thử hoặc biểu thức điều

kiện với nhiều giá trị thử khác nhau, người ta thường dùng cấu trúc switch-end Cấu trúc

switch-end có dạng như sau:

switch biểu thức điều kiện

Ở đây biểu thức điều kiện phải là dạng số hoặc dạng chuỗi, nếu biểu thức điều kiện

là dạng số thì lệnh case sẽ thử xem giá trị của biểu thức đó có bằng giá trị thử i hay không Nếu biểu thức điều kiện là một chuỗi thì lệnh case sẽ so sánh chuỗi đó với giá trị thử i

Trong ví dụ trước, biểu thức điều kiện được đem so sánh với giá trị thử 1, nếu chúng bằng nhau thì khối lệnh đầu tiện được thực hiện, mà các khối lệnh tiếp theo cho đến trước trạng

thái end được bỏ qua, nếu chúng không bằng nhau thì điều kiện tiếp tục được đem so sánh

với giá trị thử 2, giá trị thử 3, giá trị thử 4, nếu một trong các giá trị này bằng biểu thức

điều kiện thì khối lệnh 2 được thực hiện Nếu tất cả các lệnh so sánh của case đều không

Trang 4

34

đúng thì khối lệnh 3 được thực hiện Chú ý rằng trong cấu trúc switch-end có ít nhất một

nhóm lệnh phải được thực hiện Sau đây là một ví dụ về cấu trúc switch-end

Ví dụ: Bài toán phân loại học sinh: điểm 9-10 xếp loại giỏi, điểm 7-8 xếp loại khá, điểm 5-6 xếp loại trung bình; điểm 1,2,3,4 xếp loại yếu; nếu điểm vào không phải số nguyên nằm giữa 1 và 10 thì thông báo điểm không hợp lệ

n = input ( 'nhap diem: ' );

disp( 'phan loai:' );

Nhận xét: Cấu trúc IF…END chỉ hữu ích trong trường hợp chỉ có một vài lựa chọn

Còn khi có một số lượng lớn các lựa chọn khả dĩ, thông thường ta sử dụng cấu trúc

SWITCH …END để thay thế

4.2 Các lệnh lặp: for end, while end

4.2.1 Lệnh lặp for … end

MATLAB có phiên bản riêng của nó về vòng lặp "FOR" tìm thấy trong các ngôn

ngữ máy tính Nó cho phép một câu lệnh, một nhóm lệnh, được lặp lại một số lần cố định xác định trước

Cú pháp:

for chỉ số = biểu thức

nhóm lệnh A;

end

Diễn đạt : Nếu thỏa điều kiện thì sẽ thực hiện lệnh của vòng lặp Đến khi không thỏa điều

kiện thì sẽ thoát ra khỏi vòng lặp

Qui tắc thực hiện:

- Chỉ số của vòng lặp phải là biến

- Nếu ma trận biểu thức là rổng thì không thực hiện vòng lặp

Trang 5

- Khi kết thúc vòng lặp chỉ số nhận giá trị cuối cùng

- Có thể dùng toán tử: Trong vòng lặp for i = chỉ số đầu : gia số : chỉ số cuối Và số vòng lặp được tính = (chỉ số cuối – chỉ số đầu)/ số gia + 1

Trang 6

disp( 'tinh tong' );

n=input( 'nhap so hang can tinh tong n=' );

MATLAB cũng có phiên bản về vòng lặp "WHILE", cho phép một lệnh hoặc

nhóm lệnh lặp lại với số lần không xác định, dưới điều khiển của một điều kiện logic

Được sử dụng khi số lần lặp không được biết trước Quá trình lặp sẽ chấm dứt khi một điều kiện xác định nào đó được thỏa Cấu trúc của vòng lặp while như sau:

while expression

statements

end

Trong đó:

expression : Điều kiện của vòng lặp

statements : Lệnh hoặc nhóm lệnh thực thi của vòng lặp

Diễn đạt: Nếu thỏa điều kiện thì sẽ thực hiện lệnh của vòng lặp Hàm while được sử dụng

khi chưa biết số lần lặp, trong khi hàm for được sử dụng khi đã biết rõ số lần lặp

Trang 7

Hai lệnh hữu ích rất hay được sử dụng để điều khiển chu trình tính toán là continue

và break Trong vòng lặp for hay while, khi gọi continue ngay lập tức chu trình tính

chuyển sang bước lặp kế tiếp, mọi lệnh chưa thực hiện của vòng lặp (thuộc về bước lặp hiện tại) sẽ bị bỏ qua

Lệnh break còn mạnh hơn: Ngừng vòng lặp đang tính Lệnh break có tác dụng

trong cả các cấu trúc rẻ nhánh dùng if, switch

Ví dụ sau sẽ minh họa các nội dung vừa đề cập đến trong mục này với nội dung: Cần kiểm tra xem trong các số nguyên thuộc khoảng 3-7, số nào là số nguyên tố Việc kiểm tra này được thực hiện ở mạch vòng bên ngoài

for m = 3 : 1 : 7,

for n = 2: 1 : m-1,

if mod(m,n)~= 0, continue , end

fprintf( ' %2d khong phai la so nguyen to!\n' , m)

đã được rời bỏ bởi lệnh break để tiếp tục các lệnh thuộc vòng lặp phía ngoài Matlab đưa

ra kết quả ngoài màn hình như sau:

!! 3 la so nguyen to!

4 khong phai la so nguyen to!

!! 5 la so nguyen to!

Trang 8

38

6 khong phai la so nguyen to!

!! 7 la so nguyen to!

Lệnh chuyển đến cuối m-file

Nếu break được sử dụng ngoài vòng for, while trong phạm vi một script hay function của Matlab, khi ấy script file và function sẽ bị ngừng tại vị trí của break

Ví dụ: Viết chương trình nhập vào một số n (n>=0) với các trường hợp sau:

a) Nếu n < 0 thì in thông báo bạn nhập sai

b) Nếu n > 0 và lẽ thì tính tổng s1=1+3+5+ +n, n là số lẽ

c) Nếu n > 0 và chẵn thì s2=2+4+6+ +n, n chẵn

d) Nếu n = 0 dừng chương trình lại

Giải:

n=input( 'nhap n= ' ); % nhap so n

du=rem(n,2); % kiem tra so n la chan hay le

% neu n le =1, n chan du = 0

if n<0

fprintf( 'Ban nhap sai' ) % xuat ra thong bao

end

if (n>0) & (du==1) % neu n>0 và le

i=1; % gan i=1;

s1=1; %gan tong s1=1

while i<n % thuc hien vong lap

i=i+2; % tang i len 2 sau moi vong lap

s1=s1+i; % tinh tong s1 voi gia tri i moi

Trang 9

pause off: tắt chức năng pause

pause (n): dừng chương trình tại n giây

Press any key to continue…

Press any key to continue…

Press any key to continue…

Trang 10

40

Câu hỏi ôn tập chương 4

Câu 1: Trình bày nội dung của lệnh if … end trong trường hợp bài toán có hai điều kiện

thay đổi và có nhiều điều kiện thay đổi?

Câu 2: Trình bày nội dụng của lệnh Switch … end?

Câu 3: Viết và giải thích cấu trúc của lệnh vòng lặp for … end?

Câu 4: Viết và giải thích cấu trúc của lệnh vòng lặp while … end?

-

Trang 11

41

Chương 5 ĐỒ HỌA TRONG MATLAB

5.1 Cơ sở đồ họa Matlab

Khuôn khổ của mọi thao tác xuất đồ hoạ trên nền Matlab là Figure Có thể tạo ra cửa

sổ như hình 2.2 bằng cách gọi lệnh figure và mỗi figure sẽ tự động được đánh số

Bằng lệnh subplots (row, column, counter), có thể chia đều một figure thành

nhiều subplots (đồ hoạ con) được counter (bộ đếm) đánh số ở phía trên bên trái Nếu việc

đánh số chỉ cần một chữ số, chúng sẽ được viết tuần tự không cần dấu phẩy hay dấu cách

Có thể xoá nội dung của một figure bằng lệnh clf (clear current figure), và

lệnh delete figure(number) sẽ xoá chính figure Tương tự, lệnh close(number) sẽ đóng figure mang số number còn lệnh close all sẽ đóng tất cả các figures đang mở Có thể xem đặc điểm của một figure bằng lệnh get, với lệnh set ta lại có thể lập đặc điểm cho figure

Việc lập trình đồ hoạ trong Matlab luôn phụ thuộc vào đối tượng cụ thể và vô cùng phong phú Một công cụ làm nhẹ bớt công việc là trình soạn thảo đặc tính đồ hoạ (property editor) với cửa sổ giới thiệu ở hình sau:

Trang 12

42

Việc phân chia thang bậc của trục thường được Matlab tự động thực hiện Tuy nhiên, ta có thể phân chia thủ công trong trường hợp hai chiều (2-D) bằng lệnh

axis([x_min,x_max,y_min,y_max,z_min,z_max]) Lệnh axis(’auto’) sẽ trao quyền chia trục

lại cho Matlab Lệnh grid on sẽ tạo ra một lưới toạ độ ứng với cách chia trục đã xác định Đối với đồ hoạ 3-D ta có thêm lệnh box on để tạo khung bao cho 3-D-Plot

Để điền ký tự vào một đồ hoạ ta có nhiều khả năng khác nhau: Dùng

xlabel(string), ylabel(string), zlabel(string) để điền tên cho trục; dùng title(string) để

điền tên cho figure Ngoài ra ta còn có thể viết các ký tự lên cao, tụt thấp hay các ký tự

Hy Lạp

Bằng lệnh legend(string_1,string_2,…, [position]) ta có thể điền thêm một số lời

ghi chú vào đồ hoạ Vị trí của lời ghi chú được xác định bởi số ghi trong [position], với ý nghĩa: 1…4 sẽ đặt lời ghi chú vào 4 góc, 0 đặt tự động và -1 đặt vào bên phải, cạnh

đồ hoạ Lệnh text(x_value,y_value,string) cho phép ta điền một đoạn văn bản với nội

dung string vào toạ độ bất kỳ x_value, y_value trong đồ hoạ

Sử dụng lệnh zoom on | off để dùng chuột cắt và co dãn mảng đó Ngoài ra,

cửa sổ figure còn có một vài nút cho phép dùng chuột điền đoạn văn bản, vẽ thêm

nét hoặc mũi tên, và mở Property Editor

Có thể thêm thông tin chi tiết về xuất đồ hoạ ra mà hình bằng cách gọi help

graph2d, help graph3d và help specgraph

5.2 Đồ họa 2 chiều

Lệnh plot (x_value,y_value …[,plotstyle]) vẽ đồ thị nối các điểm cho bởi cặp giá trị

x_value, y_value Thông thường các điểm đó được nối bởi một nét liền

Nếu ta nạp luân phiên nhiều vector x/y, ta sẽ thu được nhiều nét nối độc

lập với nhau Nếu thiếu x_value, khi ấy các giá trị của y_value sẽ được vẽ theo thứ tự chỉ

số của chúng Nếu y_value là các giá trị phức, khi ấy đồ thị vẽ với hai trục ảo và trục thực Lệnh stars cũng được viết với cú pháp tương tự nhưng sẽ tạo ra đồ thị bậc thang

Trang 13

43

Chuỗi ký tự plotstyle cấu tạo bởi hai thành phần: Thành phần thứ nhất là

một chữ cái để chọn mầu và thành phần thứ hai là chuỗi ký hiệu đặc trưng cho dạng chấm/ gạch nối tạo nên nét đồ thị

Mỗi lần gọi mới lệnh plot, các đồ thị đã có trong Figure (hoặc trong Subplot) hiện

tại sẽ bị xoá Có thể ngăn chặn các điều đó bằng cách gọi lệnh hold on sau lệnh plot đầu

tiên

Trang 14

Lệnh plot3 có tác dụng tương tự như lệnh plot, điểm khác duy nhất là plot3 có thêm

vector số liệu thứ ba dành cho trục z

Trang 15

45

Để biểu diễn các hàm 2 chiều dưới dạng mặt trong không gian ta sử dụng lệnh

surf(x_value, y_value, z_value… [, color]) Nếu x_value, y_value, z_value là các ma trận

có số hàng và số cột giống nhau, khi ấy các điểm của đồ hoạ sẽ được vẽ và nối liền thành mặt

Nếu các điểm có một khoảng cách đều đặn về phía hai trục x và y, khi ấy x_value

và y_value có thể chỉ là vector Trong trường hợp này, các giá trị x_value được chuẩn theo cột và y_value chuẩn theo hang của ma trận z_value

Hai lệnh mesh và waterfall có cú pháp giống như surf, nhưng lại tạo ra mặt lưới không điền đầy và đồ hoạ kiểu thác nước Ngược lại contour lại vẽ nên các đường “đẳng mức” (đường nối các điểm có cùng z_value)

Ngoài ra ta còn có thể thêm một ma trận color để xác định màu cho đồ hoạ Mỗi phần tử của color ứng với một phần tử của z_value Các giá trị màu sẽ được sử dụng trong một bảng màu, và ta có thể thay đổi bảng đó nhờ lệnh colormap(name) Nếu

không khai báo ma trận màu, Matlab sẽ tự động gán color = z_value Dải màu có thể được co dãn thang nhờ lệnh caxis (color_min, color_max)

Trang 16

46

5.3.2 Phối cảnh trong đồ hoạ 3 chiều

Có thể dùng lệnh view(horizontal,vertical) để phối cảnh cho đồ hoạ 3 chiều

bằng cách khai các góc theo phương nằm ngang và phương thẳng đứng tính bằng độ (o, Degree) Góc chuẩn cho trước là (-37.5o, 30o) Ngoài ra, cũng có thể tạo dựng hay thay đổi phối cảnh bằng cách nháy và kéo thả chuột, sau khi đã gọi lệnh rotate3d

5.3.3 Nhập, xuất và in đồ hoạ

Nếu cần phải gán một File đồ hoạ có sẵn vào khuôn hình của Figure, ta có thể sử

dụng hai lệnh variable = imread(file,fmt) và image(variable)

Bằng lệnh imread ta gán File đồ hoạ với định dạng fmt cho biến variable Nếu

variable nhận hình ảnh chỉ bao gồm gam màu xám, variable sẽ là một biến 2 chiều Nếu

đó là hình ảnh mầu RGB, variable sẽ là một mảng 3 chiều Định dạng của đồ hoạ được khai báo bởi fmt Lệnh image (variable) sẽ xuất đồ hoạ mới gán cho variable ra màn hành

Figure có chứa ảnh với định dạng jpg

Đồ hoạ Figure của Matlab cũng có thể được xuất sang các định dạng khác Lệnh

print –fnumber sẽ in Figure mang số number ra máy in Lệnh print –fnumber -dfmt file

sẽ xuất Figure thành file với các định dạng đồ hoạ khác Ví dụ: bmp (Windows bitmap), emf (Enhanced meta), eps (EPS level 1), jpg (JPEG image), pcx (Paintbrush 24-bit) hay tif (TIFF image, compressed) Để biết chi tiết hãy gọi lệnh help

print

Nếu cần phải lưu lại để sau này xử lý, có thể cất các đồ hoạ đã thu được

thành File với định dạng fig của Matlab Để cất hoặc ta đi theo menu File / Save as, hoặc gọi lệnh saveas(handle, ‘file’ [,format])

Lệnh saveas cất handle (Figure hiện tại, có thể dùng gcf để hỏi) thành tệp có tên file với một trong các định dạng: ‘fig’ (File nhị phân), ‘m’ (gồm một File fig và một

File Script)

5.4 Thiết kế giao diện đồ họa

Tạo GUI bằng công cụ đồ hoạ: Trên đây ta đã xem xét cách tạo GUI bằng phương

pháp thủ công Ta có thể tạo GUI bằng công cụ đồ hoạ Khi nhập lệnh guide ta gọi trình

đồ hoạ (Graphics User Interface Development Environment) để soạn thảo layout Kết quả đầu tiên là ta có một layout rỗng

Trang 17

47

Hình 5.1 Giao diện ban đầu của cửa sổ thiết kế GUI

Việc đầu tiên là ta thiết kế giao diện mong muốn Ta sẽ dùng chuột kéo các phần tử cần dùng từ bên trái và thả vào layout rỗng bên phải Ta có thể dịch chuyển các phần tử này đế các vị trí mong muốn và cân chỉnh bằng công cụ Alignment Với mỗi phần tử ta cấn xác định thuộc tính cho nó bằng cách bấm đúp vào phần tử hay bấm vào công cụ soạn thảo thộc tính

Sau khi thiết kế xong ta lưu nó lại Lúc này MATLAB tự động tạo ra file *.fig dùng lưu giao diện vừa tạo và file *.m chưa các mã lệnh cần thực hiện Việc cuối cùng là viết các mã lệnh vào file *.m Trong quá trình thiết kế ta có thể chạy thử xem sau mỗi bước thiết kế đã đạt yêu cầu chưa bằng cách bấm vào ô chạy thử

Ví dụ tạo GUI: Giải phương trình bậc 2, Ta thiết kế một giao diện như sau:

Trang 18

48

Hình 5.2 Cửa sổ giao diện giải phương trình bậc 2

Trước hết ta gọi guide và có được một layout rỗng Vào Property Inspector (ô soạn thảo thuộc tính) và ghi vào Name chuỗi ‘giaiphuongtrinhbac2’ và chấp nhận thuộc tích Tag mặc định của nó là figure1; dùng Font chữ mặc định, cỡ chữ 12, bold Ta dùng ô Edit Text để ghi lại các hệ số a, b, c nhập vào Ta vào Property Inspector rồi chọn ô Tag, đặt tên lần lượt là hesoa, hesob, hesoc và cũng dùng Font chữ mắc định, cỡ chữ 12 và bold Tương tự như vậy là cũng tạo tiếp một Static text để hiển thị kết luận phương trình có nghiệm phân biệt, nghiệm kép hay vô nghiệm với thuộc tính Tag là ketluan, Font chữ mắc định, cỡ chữ 12 và bold Tiếp tục tạo 2 Static text để hiển thị kết quả hai nghiệm tương tự như trên Như vậy là ta đã thiết kế xong Bây giờ ta lưu lại với tên là

giaiphuongtrinhbac2.fig và giaiphuongtrinhbac2.m

Nhiệm vụ tiếp theo là ghi các lệnh cần thiết vào file giaiphuongtrinhbac2.m File

này đã được MATLAB tự động tạo ra Ta phải thêm vào đó các mã lệnh để khi bấm chuột thì kết quả hiển thị trên ô kết luận và hai nghiệm X1 và X2 Ta sẽ ghi các mã lệnh này vào phần:

function GIAIPT_Callback(hObject, eventdata, handles)

Do lệnh cần được thực hiện khi gọi pushbutton Nội dung của

giaiphuongtrinhbac2.m là:

Trang 19

49 Chạy chương trình ta có kết quả sau:

Trang 20

50

Câu hỏi ôn tập chương 5

Câu 5.1: Trình bày cách tạo cửa sổ đồ họa để thực hiện thiết kế?

Câu 5.2: Hãy giải thích cách sử dụng các lệnh sau: gcf, subplots, clf, delete

figure(number), set?

Câu 5.3: Trình bày cách chèn kí tự vào một đồ họa như tên cho trục, tên cho figure?

Câu 5.4: Trình bày cấu trúc lệnh legend?

Câu 5.5: Trình bày cấu trúc lệnh zoom on | off ?

Câu 5.6: Đồ họa 2D là gì? Cấu trúc vẽ đồ họa 2D như thế nào? Cho ví dụ minh họa?

Câu 5.7: Trình bày cấu trúc lệnh plot3 trong đồ họa 3D?

Câu 5.8: Hãy nêu cách phối cảnh trong đồ họa?

Câu 5.9: Hãy viết các lệnh để nhập, xuất, in đồ họa?

Câu 5.10: Trình bày phương pháp tạo GUI bằng công cụ đồ họa?

Câu 5.11: Hãy tạo giao diện GUI và lập trình giải mạch điện với giao diện dưới đây:

Với yêu cầu:

- Nhập thông số các nhánh

- Lập trình cho kết quả dòng điện trên các nhánh

-

Trang 21

- Ma trận hàng (1 x m) số liệu được bố trí trên một hàng

- Ma trận cột (n x 1) số liệu được bố trí trên 1 cột

a Qui định để định nghĩa một ma trận trong Matlab

Tên ma trận (có thể đến 31 ký tự), bắt đầu phải bằng chữ cái sau đó có thể là số, chữ cái, các ký tự đặc biệt Tên đặt bên trái dấu bằng, bên phải dấu bằng là các phần tử của

ma trận, các phần tử của ma trận được đóng bằng dấu ngoặc vuông ([]), các phần tử trong trong cùng một hàng được cách nhau bởi ký tự trống hoặc dấu phẩy (, ), các phần tử thuộc các hàng khác nhau cách nhau bởi dấu (;)

b Các phương pháp nhập một ma trận

- Liệt kê trực tiếp, ví dụ lệnh:

>> A = [1 2 3; 4 5 6; 7 8 9] 

Kết quả cho ra một ma trận có 3 hàng, 3 cột

- Nhập thông qua lệnh input, ví dụ lệnh:

>> input('Nhap gia tri cho ma tran A = ') 

Nhap gia tri cho ma tran A = [1 2 3; 4 5 6; 7 8 9] 

Trang 22

Việc tạo ma trận véc tơ được thực hiện theo công thức sau:

Biến = giới hạn đầu : bước chạy : gới hạn cuối

Trong đó: Giới hạn đầu, giới hạn cuối, bước chạy: Là các số thực, bước chạy có thể dương hoặc âm

Trang 23

6.2 Hệ phương trình đại số tuyến tính

Trong toán học (cụ thể là trong đại số tuyến tính), một hệ phương trình đại số tuyến tính hay đơn giản là hệ phương trình tuyến tính là một tập hợp các phương trình tuyến tính với cùng những biến số Ví dụ:

Là hệ gồm ba phương trình với ba biến số x, y, z Một nghiệm của hệ là một hệ thống tuyến tính thỏa mãn các phương trình đã cho

Dạng tổng quát:

Hình thức tổng quát của hệ phương trình đại số tuyến tính gồm n phương trình tuyến

tính với k biến số:

Hệ phương trình trên có thể được viết theo dạng phương trình ma trận: Ax=b

Với A là ma trận chứa các hệ số ai,j (ai,j là phần tử ở hàng thứ i, cột thứ j

của A); x là vector chứa các biến xj; b là vector chứa các hằng số bi Tức là:

Nếu các biến số của hệ phương trình tuyến tính nằm trong các trường đại số vô hạn (ví dụ số thực hay số phức), thì chỉ có ba trường hợp xảy ra:

 Hệ không có nghiệm (vô nghiệm)

Trang 24

6.3 Giải thuật giải phương trình vi phân

Phương trình vi phân là biểu thức liên hệ giữa một biến độc lập, hàm phải tìm và các đạo hàm của nó

Nếu phương trình chứa nhiều biến độc lập cùng với hàm của các biến này cần phải tìm và các đạo hàm riêng của hàm theo các biến thì ta gọi đó là các phương trình vi phân đạo hàm riêng (gọi tắt là phương trình đạo hàm riêng)

6.3.1 Phương trình vi phân cấp 1

- Đối với phương trình vi phân không có điều kiện đầu ta sử dụng cú pháp:

>> y = dsolve('phương trình')

6.3.2 Phương trình vi phân cấp 2

Ngày đăng: 08/06/2020, 19:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w