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

Fermé
Sam - 10 juin 2019 à 16:42
cousmouss Messages postés 10 Date d'inscription samedi 27 février 2010 Statut Membre Dernière intervention 16 juillet 2019 - 16 juil. 2019 à 11:43
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 samedi 27 février 2010 Statut Membre Dernière intervention 16 juillet 2019
16 juil. 2019 à 11:43
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