Thông số cuố

Một phần của tài liệu Giao trinh mathlab 6 5 (Trang 76 - 80)

số cuối

y=dsolve('Dy=x*ý,'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('Dý) (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 = 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 = -õ2*ý, 'y(0) = 1, Dy(pi/a) = 0') S = dsolve('Dx = ý, 'Dy = -x', 'x(0)=0', 'y(0)=1')

S = dsolve('Du=v, Dv=w, Dw=-ỳ,'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 ý = f(t,y) từ thời gian T0 đến TFINAL với giá trị ban đầu Y0( with initial conditions Y0). Hμm 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 hμng 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

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

solves the system ý = 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

2.1408 -6.2933 8.4990 2.4104 -8.8576 11.1269 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 bμi 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 )

Ch−ơng 6

Một phần của tài liệu Giao trinh mathlab 6 5 (Trang 76 - 80)

Tải bản đầy đủ (PDF)

(86 trang)