[ erno @ 08.12.2005. 12:15 ] @
pozdrav ljudi,

mozel mi neko objasniti kako sljedecu funkciju izracunati sa MATLAB-om, odnosno, integral date funkcije, te iscrtati graf sa plot funkcijom?

fX,Y(x,y) = { y/(1+x)^4*e^-y/1+x za x,y>=0, inace 0

veliko X,Y koji se nalaze pored f su u indexu.

unapred hvala

pozdrav
[ darkon @ 10.12.2005. 23:27 ] @
Ako sam dobro shvatio, treba ti neodređeni integral funkcije koju si dao (koja je, usput budi rečeno, nečitljiva - napiši je valjano!). Ono što se dobije je opet funkcija dve promenljive, i nju treba nacrtati. Jesam li dobro shvatio?
Ako je to to, onda ovako:

1. Kreiraš fajl integrud.m (npr. u direktorijumu work) u kome stoji sledeće:

function out = integrnd(x,y)
out = Ovde dođe izraz tvoje funkcije dva argumenta - u sintaksi MATLAB-a;

2. U drugom fajlu napišeš programčić sa dve ugnježdene for petlje.
U spoljašnjoj se fiksira y, pa se računa integral po svim x-ovima do nekog x1 na sledeći način:

result = dblquad(@integrud, 0, x, 0, y);

Ovim praktično kreiraš matricu dimenzija Nx X Ny X 2, tj. za svaku tačku xy mreže izračunavaš vrednost dvostrukog integrala svoje funkcije, a rezultat posle lako nacrtaš funkcijom plot3.

Nadam se da ćeš se snaći u dešifrovanju ovoga gore.
[ erno @ 12.12.2005. 14:51 ] @
thnx ali mislim da to nije to. dovoljno je zadati funkciju i samo reci int(f) i plot(f) koliko mi se cini. thnx anyway ;-)
[ darkon @ 12.12.2005. 18:55 ] @
Mislim da ti se loše čini.

Pre svega, u MATLAB-u (bar u MATLAB-u 7.0 koji ja koristim) ne postoji funkcija int(...)!
Takođe, kako misliš da numerički izračunaš integral, a da nisi zadao granice integracije.
I na kraju, kako bi MATLAB prepoznao da je data funkcija f funkcija dva argumenta, a ne racimo jednog?

Iako je prva napomena dovoljna da zaključiš da si se prešao, naveo sam i ostale da bi stekao bolji uvid u problematiku.
[ ® marsal ® @ 09.04.2006. 16:06 ] @
Za 7 ne znam ali u 6-ici postoji....Probaj da napravis posebno .m funkciju ovog tvog zadatka...nesto tipa ovako

function f = func(x,y) % x,y ces posebno unositi u Matlab commad promptu
...f=...pa sad ova tvoja funkcija......
% i snimis je pod imenom func.m

Nakon toga napravis jos jednu .m funkciju

function s=resenje (a,b,func) % a,b su ti granice integrala
s=feval(func,a)+feval(func,b)

Ovo sam na brzaka, ne garantujem ti da radi ali probaj...mislim da bi trebalo...Samo pazi da dobro iskucas tu tvoju funkciju koja ti se trazi...