[ 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...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.