31/12/2010, 13:17
f = '(0.1+1.5*(sin(theta))^2)*sin(theta)*cos(phi)'
g = '(0.1+1.5*(sin(theta))^2)*sin(theta)*sin(phi)'
h = '(0.1+1.5*(sin(theta))^2)*cos(theta)'
F = vectorize(f)
G = vectorize(g)
H = vectorize(h)
r = pi*(0:1:24)/24;
s = pi*(0:1:48)/24;
[theta,phi] = meshgrid(r,s);
X = eval(F);
Y = eval(G);
Z = eval(H);
surf(X,Y,Z)
02/01/2011, 10:01
02/01/2011, 13:42
lukul ha scritto:Ciao, dovresti adoperare una sintassi del tipo "surf(X,Y,Z,C)".
per maggiori delucidazioni ti rimando a: http://www.mathworks.com/help/techdoc/ref/surf.html
Adoperando il comando "surf(X,Y,Z)", il Matlab ti colorerà i dati in base alla matrice Z che specifica la quota
cui si trova il punto $ x in X $ e $ y in Y $. Così facendo viene visualizzatoil grafico che hai riportato.
Buona prova...
f = '(0.1+1.5*(sin(theta))^2)*sin(theta)*cos(phi)'
g = '(0.1+1.5*(sin(theta))^2)*sin(theta)*sin(phi)'
h = '(0.1+1.5*(sin(theta))^2)*cos(theta)'
F = vectorize(f)
G = vectorize(g)
H = vectorize(h)
r = pi*(0:1:24)/24;
s = pi*(0:1:48)/24;
[theta,phi] = meshgrid(r,s);
X = eval(F);
Y = eval(G);
Z = eval(H);
R= sqrt( power(X,2)+power(Y,2)+power(Z,2) );
surf(X,Y,Z,R);
02/01/2011, 17:35
03/01/2011, 00:46
lukul ha scritto:Complimenti... si vede che il Matlab lo usi benone, altro che rapporto occasionale come dici!!!
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.