1. Trang chủ
  2. » Giáo án - Bài giảng

TẬP LỆNH cơ bản của MATLAB trong kỹ thuật điện

69 1,4K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 69
Dung lượng 636,63 KB

Nội dung

Hãy tính dòng trong mạch và điện áp trên từng phần tử . Hãy vào cửa sổ soạn thảo và trong cửa sổ này ta viết chương trình như sau: R=input( nhap gia tri cho R = ) C=input( nhap gia tri cho C = ) L=input( nhap gia tri cho L = ) U=input( nhap gia tri cho U = ) ZL=250piLi

Trang 1

Chapter 2: LỆNH CƠ BẢN CỦA MATLAB

1 Một số phím chuyên dụng và lệnh thông dụng

- Hoặc Ctrl + p : Gọi lại các lệnh đã thực hiện trước đó

- Hoặc Ctrl +n : Gọi lại lệnh vừa thực hiện trước đó

- Hoặc Ctrl + f : chuyển con trỏ sang bên phải 1 ký tự

- hoặc Ctrl + b: chuyển con trỏ sang trái một ký tự

- Dấu “;” dùng trong […] để kết thúc một hàng của ma trận

- hoặc kết thúc một biểu thức hoặc câu lệnh mà không hiển thị kết quả ra mà hình

- nhảy xuống dòng dưới

- Ctrl + A hoặc Home : chuyển con trỏ về đầu dòng

- Ctrl + E hoặc End: Chuyển con trỏ đến cuối dòng

- BackSpace: Xoá ký tự bên trái con trỏ

- Esc: xoá dòng lệnh

- Ctrl + K : Xoá từ vị trí con trỏ đến cuối dòng

- Ctrl + C : Dừng chương trình đang thực hiện

- Clc : lệnh xoá màn hình

- Clf: Lệnh xoá màn hình đồ hoạ

- Input: lệnh nhập dữ liệu vào từ bàn phím

- Demo: lệnh cho phép xem các chương trình mẫu

- Help: lệnh cho phép xem phần trợ giúp

- Ctrl – c: Dừng chương trình khi nó bị rơi vào trạng thái lặp không kết thúc

2 Một số biến đã được định nghĩa trước

ans: Answer - tự động gán tên này cho kết quả của một phép

tính mà ta không đặt tên

VD >> [ 1 2]

ans =2

pi = 3.1415926535897

Trang 2

realmin: đưa ra giá trị của số nhỏ nhất mà máy tính có thể tính toán được.

i, j: Đơn vị ảo của số phức.

inf: infinity- vô cùng lớn.

clear: xóa tất cả các biến khỏi vùng làm việc

clear name: xóa các biến hay hàm được chỉ ra trong name

clear functions: xóa tất cả các hàm trong bộ nhơ

clear variables: xóa tất cả các biến ra khỏi bộ nhớ

clear mex: xóa tất cả các tập tin mex ra khỏi bộ nhớ

clear: xóa tất cả các biến chung

clear all: xóa tất cả các biến, hàm, và các tập tin mex khỏi bộ nhớ Lệnh này làm cho

Trang 3

clear global

clear all

c) Giải thích:

clear: xóa tất cả các biến khỏi vùng làm việc

clear name: xóa các biến hay hàm được chỉ ra trong name

clear functions: xóa tất cả các hàm trong bộ nhơ

clear variables: xóa tất cả các biến ra khỏi bộ nhớ

clear mex: xóa tất cả các tập tin mex ra khỏi bộ nhớ

clear: xóa tất cả các biến chung

clear all: xóa tất cả các biến, hàm, và các tập tin mex khỏi bộ nhớ Lệnh này làm cho

Trang 5

tử

Công dụng

+ Cộng ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích

thước)

- Trừ ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước)

* Nhân ma trận hoặc đại lượng vô hướng (ma trận 1 phải có số cột bằng số

hàng của ma trận 2)

.* Nhân từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng (các ma trận

phải có cùng kích thước)

\ Thực hiện chia ngược ma trận hoặc các đại lượng vô hướng (A\B tương đương với inv (A)*B)

.\ Thực hiện chia ngược từng phần tử của 2 ma trận hoặc 2 đại lượng vô

hướng (các ma trận phải có cùng kích thước)

/ Thực hiện chia thuận 2 ma trận hoặc đại lượng vô hướng (A/B tương đương với A*inv(B))

./ Thực hiện chia thuận từng phần tử của ma trận này cho ma trận kia (các ma

trận phải có cùng kích thước)

^ Lũy thừa ma trận hoặc các đại lượng vô hướng

.^ Lũy thừa từng phần tử ma trận hoặc đại lượng vô hướng (các ma trận phải

có cùng kích thước)

* ví dụ:

1

x 2

3

4

y 5

6

x’ 1 2 3 y’ 4 5 6

5

x + y 6

7

-3

x – y -3

-3

3

x + 2 4

5

-3

x – 2 -3

-3

x * y phép toán sai 4

x * y 10

18

x’* y 32 x’.* y phép toán sai

4 5 6

x * y’ 8 10 12

x * y’ phép toán sai

Trang 6

2

x * 2 4

6

2

x.* 2 4

6

x \ y 16/7 4

x.\ y 5/2 2

1/2 2 \ x 1

3/2 2

2./ x 1

2/3 0 0 1/6 x / y 0 0 1/3 0 0 1/2 1/4 x./ y 2/5 1/2

1/2 x / 2 1

3/2 1/2 x./ 2 1

3/2 x ^ y phép toán sai 1/2 x.^ y 32

729

x ^ 2 phép toán sai 1

x.^ 2 4

9

2 ^ x phép toán sai 2

2.^ x 4

8

Ví dụ : Giải phương trình bậc hai ax2 +bx +c = 0 Ta biết các

nghiệm của phương trình này có dạng:

x =

2a

vì Matlab là một chương trình tính toán số nên chúng ta phải xác định các giá trị a, b, c

Dấu = được sử dụng để gán giá trị của a, b, c như sau ( gõ phím Enter ở cuối mỗi hàng)

>>a = 2

a =

2

>>b = 5;

b 

Trang 7

>>c = -3; %Dấu “;” ở cuối dòng thì Matlab sẽ không hiển thị lại giá trị

VD về Script file: Giải bài tập mạch: cho mạch điện như hình vẽ

Hãy tính dòng trong mạch và điện áp trên từng phần tử

Hãy vào cửa sổ soạn thảo và trong cửa sổ này ta viết chương trình như sau:R=input( 'nhap gia tri cho R = ')

C=input( 'nhap gia tri cho C =

') L=input( 'nhap gia tri cho L

= ') U=input( 'nhap gia tri cho

Trang 8

C = 0.1000nhap gia tri cho L =0.2

L = 0.2000nhap gia tri cho U =

Trang 10

& Thực hiện phép toán logic AND.

 Thực hiện phép toán logic OR

~ Thực hiện phép toán logic NOT

a) Giải thích:

Kết quả của phép toán là 1 nếu phép logic là đúng và là 0 nếu phép logic là sai.Phép logic có chế độ ưu tiên thấp nhất so với phép toán số học và phép toán sosánh

[] Khai báo vector hoặc ma trận

() Thực hiện phép toán ưu tiên, khai báo các biến và các chỉ số của vector

Trang 11

; Ngăn cách giữa các hàng khi khai báo ma trận.

A(j , k) Chỉ phần tử A(j), A(j+1)…A(k)

A(: , j , k) Chỉ các phần tử A(:, j), A(:, j+1)…A(:, k)

for biến điều khiển = giá trị đầu : giá trị cuối,

thực hiện công việc;

Trang 12

Lilama2 chao cac ban

Lilama2 chao cac ban

Lilama2 chao cac ban

Lilama2 chao cac ban

Lilama2 chao cac ban

radian: function rad = change(do)

rad = do*pi/180; % doi do sang radian

Trong Matlab các dòng ghi chú sau dấu % không có tác dụng thực thi,chúng đơn giản là những dòng nhắc để người đọc chương trình dễ hiểu mà thôi.File.m thường lấy tên là tên của hàm, ta đặt tên file hàm vừa lập là change.m Nếumuốn đổi 450 sang radian, chỉ cần gõ:

từ khoá (keyword)

Trang 13

tên biến = input (‘promt’)

tên biến = input (‘promt’, ‘s’)

c) Giải thích:

tên biến, là nơi lưu giá trị ngập vào

‘promt’: chuỗi ký tự muốn nhập vào

‘s’: cho biết giá trị nhập vào là nhiều ký tự

d) Ví dụ1:

x = input(‘nhập giá trị của biến x: ’)

nhập giá trị của biến x: 5

x = 5e) Ví dụ2:

trả_lời = input(‘bạn có muốn tiếp tục không ? ’,’s’)

bạn có muốn tiếp tục không ? không

trả_lời = không

10.6.Lệnh if đơn:

Cú pháp: if <biểu thức logic>

Trang 14

disp(' hinh thangnguoc') end

y=(a+b)*c/2;

Sau đó ghi (save) vào file có tên là ht.m

Quay lại cửa sổ MatLab command Window, gõ vào dòng lệnh sau:

>> ht(2,4,2)hinh thangnguoc ans =6

Trang 15

else end

10.10.Kết hợp cấu trúc elseif và else

a=input(' vao a=')

Trang 16

disp (' pt co 2 nghiem phan biet')

thực hiện công việc 1;

elseif biểu thức luận lý 2

thực hiện công việc 2;

a nhỏ hơn b

10.12.Câu điều kiện và lệnh Break

Cú pháp: if< biểu thức logic>

break end

thoát khỏi vòng lặp nếu điều kiện logic đúng Ngược lại sẽ thực hiện lệnh tiếp theo trong vòng lặp

Trang 17

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 18

for chỉ số 2 = biểu thức 2 nhóm lệnh 2

end

nhóm lệnh 1;

end VD:

while biểu thức luận lý

thực hiện công việc;

Trang 19

while i <= n

a = a + 1/i

i = i + 1;

enddisp(‘ket qua’);

disp(a);

nhap vao so n 3

ket qua

1.8333

10.16 Các lệnh break, return, error:

Lệnh break: kết thúc sự thự thi vòng lặp for hoặc while

Lệnh return: thường được sử dụng trong các hàm của Matlab Lệnh return sẽ cho phép quay trở về thực thi những lệnh nằm trong tác dụng của lệnh return Lệnh error (‘dòng nhắn’): kết thúc thực thi lệnh và hiển thị dòng nhắn trên mànhình

Ví dụ:

Chọn một số dương bất kỳ Nếu số đó là số chẵn thì chia hết cho hai Nếu số

đó là số lẻ thì nhân với 3 rồi cộng 1 Lặp lại quá trình đó cho đến khi kết quả là 1

Chươngtrình:

while 1n=input ('Nhap vao mot

so : ');

if n<=0breakendwhilen>1

if rem(n,2)== 0% phan du cua n chia cho 2 n=n/2

elsen= 3*n+1

Trang 20

end end

Khi chạy chương trình ta sẽ thấy tác dụng của lệnh break (dừng chương trình khinhập số âm hoặc số 0)

B1(BT4a): 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

% BT4a: Viet chuong trinh nhap vao mot so n(n>=0)

% voi cac truong hop sau:

% a) Neu n<0 thi in thong bao ban nhap sai

% b) Neu n>0 va le thi tinh tong s1=1+3+5+ +n,n la so le

% c) Neu n>0 va chan thi s2=2+4+6+ +n,n chan

% d) Neu n=0 dung chuong trinh lai

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

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

%neu n le du=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 va 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 lan lap

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

end

s1 %in ra ket qua sau khi ket thuc vong lap

Trang 22

Chapter 3: CÁC HÀM TOÁN HỌC CƠ BẢN

sinh sinh(x) hàm sin hyperbolic

cosh cosh(x) hàm cos hyperbolic

tanh tanh(x) hàm tang hyperbolic

asinh asinh(x) hàm arcsin hyperbolic

acosh acosh(x) hàm arccos hyperbolic

abs abs (x) Lấy giá trị tuyệt đối hoặc độ lớn của số phứcround round(x) làm tròn đến số nguyên gần nhất

fix fix(x) làm tròn hướng về không

floor floor(x) làm tròn hướng về - ∞

ceil ceil(x) làm tròn hướng về + ∞

rem rem(x) phÇn d sau khi chia

Trang 23

gcd gcd(x) ước số trung lớn nhấtlcm lcm(x) Bội số trung nhỏ nhất

log log(x) logarit cơ số e

log2 log2(x) logarit cơ số 2

log10 log10(x) logarit cơ số 10

Trang 27

Chapter 4 TẬP LỆNH THAO TÁC TRÊN MA TRẬN

1 Cộng, trừ, nhân, chia từng phần tử của ma trận với hằng số

Trang 29

Nếu muốn ii để chỉ số ảo Ta định nghĩa ii= sqrt(-1) Sau đó bạn viết:

>> a=3+ 4*ii

a=

3+ 4*i

>>A=[ 1+2*i , 3+4*i ; 5+6*i, 4+5*i ]

A=[ 1+2*i 3+ 4*i

y: tên của vector

x1, x2: giới hạn giá trị lớn nhất và nhỏ nhất của vector y

n: số phần tử của vector y

Nếu không có giá trị n thì mặc định n = 100

Trang 30

d) Ví dụ:

y = linspace(1, 10, 7)

y = 1.0000 2.5000 4.0000 5.5000 7.00008.5000 10.0000

Trang 31

y = rand(3,5)

y =

0.2625 0.3282 0.9910 0.9826 0.6515 0.0475 0.6326 0.3653 0.7227 0.0727 0.7361 0.7564 0.2470 0.7534 0.6316

Trang 33

Điểm 0 của hàm số là điểm (0,x), đây cũng chính là nghiệm của hàm số Nếu hàm

số có nhiều nghiệm thì sẽ tìm được nghiệm gần giá trị x0

Trang 35

m: biến chứa kết qủa.

a: tên vector hay ma trận cần tính giá trị trung bình.Nếu a là ma trận thì tính giá trị trung bình của mỗi cột.d) Ví dụ:

Trang 36

p: biến chứa kết quả.

x: tên ma trận hay dãy số

Nếu là ma trận nhân từng phần tử cuả mỗi cột d) Ví dụ:

Trang 37

kq: biến chưá kết quả.

i: số thứ tự cuả phần tử trước khi sắp xếp

Nếu x là ma trận thì sắp xếp theo thứ tự tăng dần của từng cột.d) Ví dụ:

Trang 40

off: không hiển thị lưới tọa độ.

x,y: vẽ giá trị x theo giá trị y

linetype: kiểu phần tử tạo nên nét vẽ bao gồm 3 thành phần:

-. Đường gạch chấm Đường nét đứt đoạn

- Thành phần thứ ba là các ký tự chỉ loại điểm đánh dấu gồm:., o, x, +, *d) Ví dụ:

Vẽ đồ thị hàm y = sin(x) với đồ thị màu lam, đường liền nét và đánh dấu các điểm được chọn bằng dấu *, trục x thay đổi từ 0 tới 2, mỗi bước thay đổi là /8

Trang 43

6 Lệnh POLAR

a) Công dụng:

Vẽ đồ thị trong hệ trục tọa độ cực.b) Cú pháp:

Trang 44

text: tên tiêu đề.

9 Lệnh XLABEL, YLABEL, ZLABEL

Trang 45

% Tạo vecter x từ 0 tới10 với bước 0.1.

>> y = sin(x);% Nhập hàm

>> plot (x,y) % Vẽ hàm y theo biến x

>>grid on % Tạo chia ô cho đồ thị

VD 2: vẽ đồ thị y = ax+ bx với a = sin, b =cosx biến thiên từ 0 đến 2*pi

>> x = 0: pi/100: 2*pi;

>> y= sin(x)+cos(x);

>> plot(x,y)

>>grid on

VD 3: Tạo biến từ hàm linspace :

Tên biến = linspace ( Điểm đầu, điểm cuối,

% vẽ y bằng dấu x mầu đen, y1

bằng dấu * mầu xanh thẫm

>> plot(x,y,’xk’,x,y1,’*b’);

% Tên đồ thị

>> title(' Do thi ham cosx & ham cos2x')

>> xlabel(' Truc Hoanh')

Trang 47

Chapter 7: SYMBOLIC TOOLBOX 1.Lệnh và hàm trong Symbolic Matlab

>> x = sym(‘x’,’ real’) % x là biến kiểu thực

>> y = sym(‘y’) %y là biến bất kỳ kiểu symbolic

Để xoá đặc tính “real” của các biến x, y ta dùng lệnh sau: syms x y unreal

Để tính đạo hàm của một biểu thức symbolic ta sử dụng hàm diff()

+ diff(S): Đạo hàm biểu thức symbolic S với biến tự do được xác định bởi hàmfindsym(S)

+ diff(S,v) hay diff(S,sym(‘v’)): Đạo hàm biểu thức symbolic S với biến lấyđạo hàm là biến symbolic v nghĩa là thực hiện phép toán dS/dv

+ diff(S,n) : Đạo hàm cấp n biểu thức S, n là số nguyên dương

Trang 48

y = 720

>>syms u v

>>y = u^2*v - u*v^3;

>> y2u = diff(y,u,2) %dao ham cap 2 theo

u

y2u = 2*v

>> y3u = diff(y,v,3) %dao ham cap 3 theo

v y3u = -6*u

1.3.Phép tích phân

Để tính tích phân của một biểu thức symbolic ta sử dụng hàm int()

+ int(S) : tích phân không xác định của biểu thức symbolic S với biến mặc địnhxác định bởi findsym

+ int(S, v): Tích phân không xác định của biểu thức symbolic S với biến tíchphân v

+ int(S,a,b): Tích phân không xác định của biểu thức symbolic S với biến tự do

và cận lấy tích phân từ [a,b]

+ int(S,v,a,b): Tích phân không xác định của biểu thức symbolic S với biến tíchphân v và cận lấy tích phân từ [a,b]

Trang 49

1.4.Tìm giới hạn

Để tìm giới hạn của một biểu thức symbolic ta sử dụng hàm limit()

+ limit(F, x, a) : Tìm giới hạn của biểu thức F khi xa

+ limit(F, a) : Tìm giới hạn của biểu thức F với biến độc lập

+ limit(F) : Tìm giới hạn của biểu thức F khi a = 0

+ limit(F, x, a, ‘right’) hoặc Lim it(F, x, a, ‘left’) : Tìm giới hạn phải hoặc bên Trái

2.Tính tổng của dãy số symbolic

Để tính tổng của một biểu thức symbolic ta sử dụng hàm symsum()

+ symsum(S): Tổng của biểu thức symbolic theo biến symbolic k , k được xác định bằng lệnh findsym từ 0 tới k -1

+ symsum(S,v): Tổng của biểu thức symbolic S theo biến symbolic v,v được xác định

Trang 50

3.Tách tử số và mẫu số của một biểu thức symbolic

[n,d] = numden(A): biến đổi mỗi phần tử của A thành dạng hữu tỷ trong đó tử số và mẫu số là các đa thức (tương đối) nguyên tố với các hệ số nguyên

4.Biểu diễn biểu thức symbolic dưới dạng toán học

Sử dụng hàm pretty(S) để hiển thị S dưới dạng dễ đọc hơn như trong quy ước toán họcthông thường Ví dụ:

Trang 51

>>syms x a

>>s=solve(x^3+a*x+1);

>>pretty(s)

5.Giải phương trình đại số

Sử dụng lệnh solve để giải hệ phương trình đại số

Lệnh solve( ) có các cú pháp như sau:

Hàm dsolve tính toán lời giải symbolic cho các phương trình vi phân thường

Các ký hiệu D2, D3,…, Dn tương ứng với đạo hàm bậc 2, 3,…, n Vì vây, D2y tương đương với d2y/dt2 Trong lời giải dsolve thì biến độc lập mặc định là t Lưu ý rằng tên của biến symbolic không được chứa ký tự D

Nếu điều kiện đầu không được xác định thì lời giải sẽ chứa các hằng số tích phân C1, C2,

Cú pháp của lệnh dsolve: dsolve(‘PT1’, ‘PT2’,…, ‘PTn’)

7.Biến đổi laplace và laplace ngược

+ L = laplace(F): Biến đổi Laplace của hàm F với biến độc lập mặc định là t Kết quả trả về là một hàm của s Nếu F = F(s) thì Laplace trả về một hàm của t: L = L(t) Theo định nghĩa, L(s) = int(F(t)*exp(-s*t),0,inf) và phép tích phân được thực hiện với t+ L = laplace(F,t): L là một hàm của t thay thế biến mặc định s

8.Hệ Phương trình tuyến tính không đồng nhất

Phương trình như sau gọi là phương trình tuyến tính KĐN

a1*x1 + a2*x2 + + an*xn = b

Ngày đăng: 24/02/2019, 21:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w