1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

b. Phương pháp Simpson 1/3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.82 MB, 138 trang )


syms t s;

I1=sym('I1(t)');

laplace(i,t,s)

dI1=sym('diff(I1(t),t)')

l=laplace(dI1,t,s) % chuyen dao ham I1(t) sang Laplace



Các lệnh phụ trợ cần chú ý để giải một bi toán ký thuyết mạch

1. Lệnh collect( f , x) : l lệnh nhóm thừa số chung theo biến

Ví dụ f= 2*x + 3*x;

>>f= collect(f,x)

f=

5*x

2. Lệnh thay thế subs( f,{ x,y,z},{ 1,2,3}) thay thế x , y , z bằng 1 2 3

>> syms x;

>> syms R1 R2 R3;

>> f= R1+R2 + R3*x;

>> subs(f,{R1,R2,R3},{1,2,3})

ans =

3+3*x

3. Trong khi giải phơng trình :

Chúng ta thay thế phần tử laplace(I1(t),t,s) bằng LI1 nh sau

>> syms t s;

>> sym(' diff( I1(t),t)');

>> l=sym(' diff( I1(t),t)');

>> l=laplace(l,t,s)

l=

s*laplace(I1(t),t,s)-I1(0)

(chú ý khi thay I1(0) bằng giá trị no đó thì ta phải gán nh sau



ví dụ subs( l , { 'I1(0)' ,'laplace(I1(t),t,s)' } , {2, LI1})

kết quả sẽ đợc nh sau: l= s* LI1 -2

4. Sau khi giải ra nghiệm dòng , áp theo laplace thì ta chuyển đổi ngợc lại dùng hm

biến đổi ngợc laplace( hm ngợc l illaplace)

Ví dụ cụ thể

Cho mạch điện có các phơng trình nh sau:(dI1/dt)*R1 + R2 = I1*R3

% giải hệ phong trình trên banừg cách biến đổi sang laplace



Trang 11



%chơng trình viết trong M-file v đợc ghi trong file C5.m

syms R1 R2 R3 real;

I1=sym('I1(t)');

dI1=sym('diff(I1(t),t)');

eq1= dI1*R1 +R2-I1*R3;

syms t s ;

q1=laplace(eq1,t,s)

syms I1p;

q2=subs(q1,{R1,R2,R3,'I1(0)','laplace(I1(t),t,s)'},{1,2,3,2,I1p})

q2=collect(q2,I1p);% nhóm lại thừa số chung l I1p

I1p=solve(q2,I1p)% Giải phơng trình trên với biến I1p

ilaplace(I1p)% biến đổi ngợc lại sang I1(t)

Kết quả khi thực hiện chơng trình trên l:

>>C5

q1 =

R1*(s*laplace(I1(t),t,s)-I1(0))+R2/s-R3*laplace(I1(t),t,s)

q2 =

s*I1p-2+2/s-3*I1p

I1p =

2*(s-1)/s/(s-3)

% kết quả I1(t)

ans=

2/3+4/3*exp(3*t) % kết quả I1(t)

Sau đây l một số bi tập để giải.



5.5 Giải hệ phơng trình đại số tuyến tính

Phần ny đã trình by ở chơng II 'Th viện toán học Symbolic'

Muốn giải trớc hết hm phải l hm symbolic của một hoặc nhiều biến no đó

>>syms x y;

>> [x,y]=solve('x+y=1','x-11*y=5',x,y)

x=

4/3

y=

-1/3

> syms x y;

>> n=solve('x+y=1','x-11*y=5',x,y) % kết quả dạng cấu trúc

n=



Trang 12



x: [1x1 sym]

y: [1x1 sym]

>> n.x % truy nhập cấu trúc biến x

ans =

4/3

>> n.y % Truy nhập cấu trúc biến y

ans =

-1/3



5.6 Phơng trình vi phân thờng

DSOLVE Symbolic tìm nghiệm của phơng trình vi phân DSOLVE('eqn1','eqn2', ...) chỉ

chấp nhận các biểu thức vi phân dạng symbolic ('eq1'....) v điều kiện đầu .Một số

phơng trình hoặc các điều kiện đầu có thể đợc nhóm lại với nhau v cách nhau bằng

dấu phẩy(comma), đối với một thông số đầu vo , mặc định l biến 't' biến độc lập ny có

thể đợc thay đổi từ 't' đến các biến symbolic khác bằng cách thêm biến đó nh l thông

số đầu vo cuối cùng

Ví dụ nh sau: giả sử ta cần giải phơng trình vi phân dy/dx= x*y biến lấy tích phân(phải

l) x cho nên ta coi x l thông số đầu vo cuối cùng ta viết nh sau

syms x



Thông

số cuối



y=dsolve('Dy=x*y','Dy(0)=1','x');

ký hiệu 'D' định nghĩa phơng trình vi phân tơng ứng với biến độc lập ví dụ thông

thờng sử dụng dy/dt . ''D'' đợc theo sau bởi một số ,thì số đó định nghĩa bậc vi phân ví

dụ D2y nghĩa l d2y/dt2 ví dụ sau:

y = dsolve('D2y+y=1','y(0) = 0')

kết quả: y = 1+C1*sin(t)-cos(t)

Còn D3y tức l d3y/dt3

chú ý rằng biến symbolic không đợc chứa trong D ví dụ nh không thể ghi nh sau :

syms y; dsolve('Dy') (sai)

Điều kiện đầu xác định bởi biểu thức 'y(a)=b' hoặc 'Dy(a)=b'

ở đó y l một trong những biếnphụ thuộc v a v b l số không đổi nếu số điều kiện đầu

nhỏ hơn số biến phụ thuộc thì Kết quả sẽ đợc cho trong mảng C1,C2

Có ba kiểu đầu ra .Đối với một phơng trình vi phân thì có một đầu ra , đối với hệ có

nhiều phơng trình vi phân thì có số đầu ra tơng ứng (đầu ra có thể l một structer)

Examples:

dsolve('Dx = -a*x') returns

ans = exp(-a*t)*C1

x = dsolve('Dx = -a*x','x(0) = 1','s') returns



Trang 13



x = exp(-a*s)

y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns

y=

[ sin(t)]

[ -sin(t)]

S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')

returns a structure S with fields

S.f = exp(t)*cos(t)+2*exp(t)*sin(t)

S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)

Y = dsolve('Dy = y^2*(1-y)')

Warning: Explicit solution could not be found; implicit solution returned.

Y=

t+1/y-log(y)+log(-1+y)+C1=0

dsolve('Df = f + sin(t)', 'f(pi/2) = 0')

dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0')

S = dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1')

S = dsolve('Du=v, Dv=w, Dw=-u','u(0)=0, v(0)=0, w(0)=1')

w = dsolve('D3w = -w','w(0)=1, Dw(0)=0, D2w(0)=0')

y = dsolve('D2y = sin(y)'); pretty(y)

Sử dụng ode23 v ode45 dùng để giải phơng trình vi phân thờng

Cấu trúc

[T,Y] = ODE23(ODEFUN,TSPAN,Y0) với TSPAN = [T0 TFINAL] tổ hợp hệ phơng

trình vi phân y' = f(t,y) từ thời gian T0 đến TFINAL với giá trị ban đầu Y0( with initial

conditions Y0). Hm ODEFUN(T,Y) chắc chắn trả về một véc tor cột tơng ứng với

f(t,y). Mỗi hng trong mảng kết quả Y tơng ứng thời điểm(t) trả về trong column vector

T

Để lấy kết quả tại các thời điểm T0,T1,...,TFINAL(tất cả l tăng đều hoặc giảm đều) sử

dụng TSPAN = [T0 T1 ... TFINAL].

[T,Y] = ODE23(ODEFUN,TSPAN,Y0,OPTIONS) solves as above with default

integration properties replaced by values in OPTIONS, an argument created with the

ODESET function. See ODESET for details.

Thông thờng sủ dụng options l một số vô hớng để nói về sai số liên quan ('RelTol')

Nếu không có thông số trên thì mặc định sai số liên quan l =1-e3 v sai số tuyệt đối mặc

định với tất cả các phần tử l 1e-6

Example

[t,y]=ode23(@vdp1,[0 20],[2 0]);



Trang 14



plot(t,y(:,1));

solves the system y' = vdp1(t,y), using the default relative error

tolerance 1e-3 and the default absolute tolerance of 1e-6 for each

component, and plots the first component of the solution.

% giai phuong trinh vi phan bac hai sau

% L*d2q/dt2 + R * dq/dt + q/c = Eo* cos(w*t)

% nguyen tac giai

global R L C Eo omega

L=100;

R=100;

C=0.25;

Eo=10;

omega=1;

%t0=0;

%ta=3;

%x0=[1 1]'

tol=1e-3;

[t,x]=ode23(@Mach1,[0 3],[1 1],tol);

kq=[t x(:,1) x(:,2)]

plot(t,x(:,1));

%-------------- Ham Mach1-------------------------------function f= Mach1(t,x)

global R L C omega Eo

f=[(Eo/L)*cos(omega*t)-x(1)/(C*L)-R*x(2)/L x(2)]';

%-------------------ket qua thuc hien trong command window-----kq =

0 1.0000 1.0000

0.0800 0.9216 1.0833

0.3585 0.5926 1.4308

0.5589 0.2895 1.7484

0.7093 0.0171 2.0319

0.8596 -0.3011 2.3615

1.0069 -0.6642 2.7362

1.1900 -1.1987 3.2858

1.4006 -1.9498 4.0557

1.6323 -2.9833 5.1132

1.8804 -4.3902 6.5518



Trang 15



2.1408 -6.2933 8.4990

2.4104 -8.8576 11.1269

2.6868 -12.3044 14.6669

2.9682 -16.9303 19.4292

3.0000 -17.5398 20.0576

Nguyên tắc giải bi toán : Đa phơng trình vi phân cấp n về n phơng trình vi phân cấp

một trong ví dụ trên ta đặt x1=q ,x2=diff(x1) nh vậy ta có hai phơng trình vi phân(

giống nh phơng pháp đặt biến trạng thái trong lý thuyết điều khiển tự động )



Trang 16



Chơng 5

đồ hoạ trong matlab



5.1 Mn hình đồ thị:



Đây l nơi trình by mọi hình ảnh , độ thị . đã đợc giải trình từ khung của sổ

Command của Matlab để xử lý theo các lệnh , công cụ mn hình.

Có hai cách để hiện khung mn hình đồ thị trắng:





Từ khung cửa sổ command kích

File/New v chọn Figure từ menu

xổ.







Cũng trong khung cửa sổ

Command gõ lệnh figure v ấn

enter.



5.2 các lệnh menu đồ hoạ trong matlab:



Để giúp các bạn có thể nắm vững v sử dụng chơng trình Matlab; phần

ny giới thiệu cáclệnh trên thanh menu cùng với các chức năng v công dụng

của từng menu con nằm trong các menu chính.

5.2.1 File:

Hiện menu xổ chứa các lệnh con có chức năng tạo, quản lý, điều hnh cũng nh thay

đổi các thông tin các thông số mặc định của chơng trình cho phù hợp với từng công việc.

New Figure

New Figure dùng để mở trang mn hình đồ hoạ mới.



Trang 1



Để mở trang mn hình mới chồng lên mn hình đồ thị cũ trong khi đồ thị cũ vẫn còn

hiện diện trên mn hình, chọn New Figure từ menu xổ. Một cửa sổ mới sẽ xuất hiện ra

nằm chồng lên mn hình cũ

Open:

Mở tập tin đồ thị cũ trong khung mn hình đồ thị để xử lý theo nhu cầu công việc.

Các bớc thực hiện mở đồ thị đã lu:



Kích File/ Open từ menu xổ, xuất hiện màn hình thoại Open .



-



Look



in:



Nơi



chứa



các tập tin đồ thị của Matlab. Nơi chứa có thể l ổ đĩa, th mục hoặc chơng trình

khác.

-



File nane: Tên tập tin muốn mở trong khung mn hình đồ thị .



-



Files of type: Thể loại tập tin đồ thị l .fig



Kích đúp vào tên tập tin muốn mở hoặc đánh tên tập tin vào khung

File name hoặc kích một lần vào tên tập tin, kích Open. Tập tin đồ

thị vừa chọn sẽ hiện lên màn hình.

Close:

Đóng khung mn hình đồ thị để về khung cửa sổ nhập lệnh của Matlab ( Biểu tợng

có chức năng tơng đơng với lệnh Close trong menu File)

Save:



Trang 2



Lu lại những thay đổi trong khung mn hình đồ thị hiện hnh. Tuy nhiên, có một

điều khác biệt l lệnh ny lu lại ngay những thay đổi trong tập tin mới sau khi đã đợc

đặt tên v đang hiện diện trên mn hình để tiếp tục xử lý.

Nếu bạn mở tập tin cũ với lệnh Open để xử lý v nếu đã có những thay đổi bất kỳ

trong nội dung hiện hnh v sau khi kích lệnh save, mn hình hiện khung thoại save as.

Từ khung thoại ny bạn có thể lu lại nhữnh thay đổi theo tên tập tin cũ hoặc với một tên

mới.

Save As: Hiện khung thoại Save As để bạn lu tập tin đồ thị mới vẽ theo một tập tin mới

hoặc lu lại những thay đổi trong nội dung của tập tin cũ đợc mở với lệnh Open theo tên

cũ hoặc với tên mới. Các bớc thực hiện nh sau:





Sau khi thay đổi , kích File /

Save as



-



Save in Nơi cha các tập tin



muốn. Lu. Nơi chứa các tập tin

đồ thị của Matlab. Nơi chứa có

thể l ổ đĩa, th mục hoặc

chơng trình khác.

-



File name Tên tập tin tuỳ



chọn để lu cho đồ thị vừa tạo

-



Save as type Thể loại tập tin



muốn lu. Mặc định l .fig đối

với các tập tin đồ thị





Sau khi chọn nguồn chứa (nếu cần thiết), đặt tên mới cho đồ thị, kích vo Save để

lu.



Export:

Lu lại tập tin đồ thị hiện hnh thnh một

dạng tập tin khác để sau ny có thể chuyển

sang chơng trình ứng dụng khác.





Tạo một đồ thị mới hoặc mở tập tin đồ

thị cũ lên mn hình.







Kích menu File v chọn Export. Mn

hình hiện khung thoại Export.



Trang 3



Xem Thêm
Tải bản đầy đủ (.pdf) (138 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×