Plot funzione 3d

di il
3 risposte

Plot funzione 3d

Ciao a tutti, mi servirebbe creare una superficie in 3D con Matlab. Ho visto che posso usare in maniera semplicissima le funzione meshgrid e surf. La mia domanda è più una domanda di programmazione (è da parecchio che non programmo con matlab). Vorrei plottare la seguente funzione:

z=(2-3x+y)/(y-3x)

in cui però sia x che y variano solo tra zero e uno e (importante) x deve essere sempre più piccolo di y (x<y).

Consigli? Grazie!

3 Risposte

  • Re: Plot funzione 3d

    I due vincoli:

    [*] "x" e "y" devono variare tra 0 e 1
    [*] x deve essere sempre più piccolo di y (x<y)

    sembrano contraddittori; una soluzione potrebbe essere definire "x" e "y" come segue:

    x = linspace(0.001,0.99,70);
    y = linspace(0.01,1,70);

    Osservando la superficie generata, il numero dei punti (in questo esempio 70) risulta avere una notevole importanza, sarebbe opportuno valutare diverse possibilità in funzione del risultato che si vuole ottenere
    
    
    x = linspace(0.001,0.99,75);
    y = linspace(0.01,1,75);
    [X,Y]=meshgrid(x,y);
    z=(2-3*X+Y)./(Y-3*X);
    surf(X,Y,z)
    shading interp
    grid on
    xlabel('X')
    ylabel('Y')
    
    

    Allegati:
    16082_90df3065c03ad4af837f22352af26736.jpg
    16082_90df3065c03ad4af837f22352af26736.jpg
  • Re: Plot funzione 3d

    Grazie mille! l'ho scritto l'hanno scorso e mi ero pure dimenticata! Può tornarmi utile però

    Grazie!
  • Re: Plot funzione 3d

    Scusa il ritardo
Devi accedere o registrarti per scrivere nel forum
3 risposte