Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

zadaci MATLAB!!!

[es] :: Matematika :: zadaci MATLAB!!!

[ Pregleda: 4761 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damir_he
damir halja
sarajevo

Član broj: 102433
Poruke: 44
92.36.188.*



Profil

icon zadaci MATLAB!!!16.11.2008. u 22:17 - pre 156 meseci
Na netu sam našao par zadataka iz differencijalnih jednačina, međutim imam problem prilikom njihovog izvođenja.
Naime, Matlab mi prijavljuje kojekakve greške!

Može li ko da provjeri ove zadatke (ubaci ih u Matlab)?

Zadatak 1:

--
function rk2
x0=input('Unesite pocetnu tacku segmenta:');
xn=input('Unesite krajnju tacku segmenta:');
y0=input('Unesite pocetnu vrijednost funkcije:');
h=input('Unesite korak integracije:');
n=(xn-x0)/h;
x=x0;
y=y0;
yn(1)=y0;
for i=1:n
k1=h*f(x,y);
k2=h*f(x+h,y+k1);
yn(i+1)=y+(1/2)*(k1+k2);
x=x+h;
y=yn(i+1);
end
%Stampanje rezultata
a=[x0:h:xn];
hold off
plot(a,yn,'linewidth',1.2)
axis([x0 xn 1.3 2])
grid on
hold on
%Izracunavanje tacnog rješenja dobijenog analitickim putem
yt=(2*(a+1))./(2*a+1);
plot(a,yt,'r')
axis([x0 xn 1.3 2])
grid on
hold on
%Izracunavanje tacnog rješenja pomocu ODE23
[x2,y2]=ode23('f',[0,1],2);
plot(x2,y2,'*k')
%Diferencijalna jednacina cije se rjesenje trazi
function F=f(x,y);
F=(y-y^2)/(x+1);


--
Izrada

>> rk2
Unesite pocetnu tacku segmenta:0
Unesite krajnju tacku segmenta:1
Unesite pocetnu vrijednost funkcije:2
Unesite korak integracije:0.1
??? Error using ==> feval
Undefined function 'f'.

Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\private\odearguments.m
On line 104 ==> f0 = feval(ode,t0,y0,args{:});

Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\ode23.m
On line 154 ==> [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...

Error in ==> C:\MATLAB6p5\work\rk2.m
On line 31 ==> [x2,y2]=ode23('f',[0,1],2);

Napomena: Iscrta mi i grafik ali u izradi zadatka mi prijavljuje grečku!

-------------------------------------------------------------

Zadatak 2:

function rk3
x0=input('Unesite pocetnu tacku segmenta:');
xn=input('Unesite krajnju tacku segmenta:');
y0=input('Unesite pocetnu vrijednost funkcije:');
h=input('Unesite korak integracije:');
n=(xn-x0)/h;
x=x0;
y=y0;
yn(1)=y0;
for i=1:n
m1=h*f(x,y);
m2=h*f(x+h/2,y+m1/2);
m3=h*f(x+h,y-m1+2*m2);
yn(i+1)=y+(1/6)*(m1+4*m2+m3);
x=x+h;
y=yn(i+1);
end
a=[x0:h:xn];
hold off
plot(a,yn,'linewidth',1.2)
axis([x0 xn 1.3 2])
grid on
hold on
yt=(2*(a+1))./(2*a+1);
plot(a,yt,'r')
axis([x0 xn 1.3 2])
grid on
hold on
[x2,y2]=ode23('f',[0,1],2);
plot(x2,y2,'*k')


Izrada u Matlabu:


>> rk3
Unesite pocetnu tacku segmenta:0
Unesite krajnju tacku segmenta:1
Unesite pocetnu vrijednost funkcije:2
Unesite korak integracije:0.1
??? Undefined function or variable 'f'.

Error in ==> C:\MATLAB6p5\work\rk3.m
On line 11 ==> m1=h*f(x,y);

>>

--------------------------------------------

Zadtak 3:


function rk4
x0=input('Unesite pocetnu tacku segmenta:');
xn=input('Unesite krajnju tacku segmenta:');
y0=input('Unesite pocetnu vrijednost funkcije:');
h=input('Unesite korak integracije:');
n=(xn-x0)/h;
x=x0;
y=y0;
yn(1)=y0;
for i=1:n
m1=h*f(x,y);
m2=h*f(x+h/2,y+m1/2);
m3=h*f(x+h/2,y+m2/2);
m4=h*f(x+h,y+m3);
yn(i+1)=y+(1/6)*(m1+2*m2+2*m3+m4);
x=x+h;
y=yn(i+1);
end
a=[x0:h:xn];
hold off
plot(a,yn,'linewidth',1.2)
axis([x0 xn 1.3 2])
grid on
hold on
yt=(2*(a+1))./(2*a+1);
plot(a,yt,'r')
axis([x0 xn 1.3 2])
grid on
hold on
[x2,y2]=ode45('f',[0,1],2);
plot(x2,y2,'*k')


Rešenje u Matlabu:


>> rk4
Unesite pocetnu tacku segmenta:0
Unesite krajnju tacku segmenta:1
Unesite pocetnu vrijednost funkcije:2
Unesite korak integracije:0.1
??? Undefined function or variable 'f'.

Error in ==> C:\MATLAB6p5\work\rk4.m
On line 11 ==> m1=h*f(x,y);

>>


Hvala Unapred!!!

[Ovu poruku je menjao damir_he dana 17.11.2008. u 07:38 GMT+1]
 
Odgovor na temu

ptak 13.
Adamovic Nikola
Srbija - Nis

Član broj: 143532
Poruke: 1476
77.46.187.*

Sajt: putujsaosmehom.blogspot.c..


+284 Profil

icon Re: zadaci MATLAB!!!20.11.2008. u 19:56 - pre 156 meseci
Iste greske prijavljuje i kod mene, samo sto sam probao. nerazumem sta je greska, ali nesto je tu lose napisano, ja sam 3god srednej skole pa slabo doduse razumem ovo, ali probacu da skontam u cemu je fol.
Da bi bio genije moras biti bar malo lud. Covek koji je genije, a to ne zna, verovatno i
nije.
 
Odgovor na temu

[es] :: Matematika :: zadaci MATLAB!!!

[ Pregleda: 4761 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.