In [2]:
pkg load symbolic
In [3]:
syms y(t) t ;
f=@(t,y) sin(t)-y ;
egyenlet=diff(y(t),t)==sin(t)-y ;
sol=dsolve(egyenlet,y(0)==1) ;
fsol=matlabFunction(rhs(sol)) ;
tb=0:0.5:3;
yb=-1:0.5:5;
[T,Y]=meshgrid(tb,yb);
dY=f(T,Y);
dT=ones(size(dY));
quiver(T,Y,dT,dY);
hold on;
xx=linspace(tb(1),tb(end));
plot(xx,fsol(xx));
axis([tb(1),tb(end),yb(1),yb(end)])
Symbolic pkg v2.8.0: Python communication link active, SymPy v1.5.1.
warning: worked around octave bug #42735
warning: called from
    minus at line 42 column 5

fixpont-iteráció

y=f(t,y)  y(a)=b
y(t)=b+atf(s,y(s))ds
yT(y), ahol  T(y)(t)=b+atf(s,y(s))ds
ynyn+1=T(yn), ahol  T(yn)(t)=b+atf(s,yn(s))ds
f(t,y)=sin(t)y,  y0(t)=1
y1(t)=1+0t(sin(s)1)ds=1cos(t)+1t=2tcos(t)

y2(t)=1+0t(sin(s)2+s+cos(s))ds=22t+t22cos(t)+sin(t)

y3(t)=1+0t(sin(s)2+2ss22+cos(s)sin(s))ds=12t+t2t36+sin(t)
y4(t)=1+0t(sin(s)1+2ss2+s36sin(s))ds=1t+t2t33+t424
In [10]:
quiver(T,Y,dT,dY);
hold on;
xx=linspace(tb(1),tb(end));
plot(xx,fsol(xx),'.-');
uj0=@(t) ones(size(t));
plot(xx,uj0(xx),';0;');
uj1=@(t) 2-cos(t)-sin(t);
plot(xx,uj1(xx),';1;');
uj2=@(t) 2-2*t+1/2*t.^2-cos(t)+sin(t);
plot(xx,uj2(xx),';2;');
uj3=@(t) 1-2*t+t.^2-1/6*t.^3+sin(t);
plot(xx,uj3(xx),';3;');
uj4=@(t) 1-t+t.^2-1/3*t.^3+1/24*t.^4;
plot(xx,uj4(xx),';4;');

axis([tb(1),tb(end),yb(1),yb(end)])
In [ ]: