Tracer une fonctions f(x,y,z) en 3D

Sam -  
cousmouss Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Etant nouveau sur matlab, j'essaye de tracer la fonction suivante en 3D:

B = 4*pi*1e-7*N/(2*sqrt(l.^2 + D.^2));

Pour:
N de 1 --> 100
l de 0.01 --> 0.10
D de 0.01 --> 0.04

Mais malheureusement je n'y arrive pas du tout !
Actuellement j'ai le code suivant qui marche, mais qui me permet uniquement de tracer ma fonction en fonction de "l" et "D" (je fixe N = 100):

Mu0 = 4*pi*1e-7; %perméabilité du vide

N = 100; %Nombre de spires
%l : Longueur de la bobine en Cm
%D : Diamètre de la bobine en Cm

figure(2)
Bi = @(l,D)Mu0*N/(2*sqrt(l.^2 + D.^2)); %La sensibilité B/I
fsurf(Bi,[0 10e-2 0 4e-2])
hold on
title('B/I(l,D,N)= Mu0*N/(2*sqrt(l.^2 + D.^2))')
xlabel('l');
ylabel('D');
zlabel('B/I');
fsurf(Bi,[0 10e-2 0 4e-2],'ShowContours','on')
box on


J'ai aussi essayé aussi la "fimplicit3", mais ça ne marche pas et j'obtiens un plan (x,y,0) :

%figure(1);
%f = @(l,D,N) Mu0*N/(2*sqrt(l.^2 + D.^2));
%interval = [0 8e-2 0 3e-2 0 0 100];
%fimplicit3(f,interval)

J'ai aussi tenté plot3, scatter3... ces derniers ne répondent pas à ce que je souhaite obtenir.

Donc s'il vous plait, quelqu'un pourrait m'aider à réaliser ce graphe en fonction des 3 variables "l", "D" et "N" ?
Je vous remercie d'avance pour vos réponses.

Configuration: Windows / Chrome 74.0.3729.169
A voir également:

1 réponse

cousmouss Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour.

Le sujet date un peu. Pour afficher des figures 3D d'un objet maillé par exemple, j'utilise souvent la fonction "patch". C'est le code couleur qui donne alors la valeur "a la surface" de l'objet.

Bonne journée, cousmouss.
0