Bonjour,
Je suis encore un débutant à Matlab et je n'arrive pas à comprendre pourquoi dans mon dessin, je n'obtiens rien alors que je devrais avoir deux courbes.
Voici mon code (je m'excuse de la longueur de l'expression de u) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 R = 4; k = 1; n = 4; a = input ('Entrez la position de la sphère selon axe des x : '); b = input ('Entrez la position de la sphère selon axe des y : '); c = input ('Entrez la position de la sphère selon axe des z : '); u = [ ]; for (i = 1:length(v)) u(i) = (-(2*a*(cos(v(i))) + 2*b*(sin(v(i))) + 2*k*c*(cos(n*v(i)))) - sqrt ((2*a*(cos(v(i))) + 2*b*(sin(v(i))) + 2*k*c*(cos(n*v(i))))^2 - 4*(1 + (k*(cos(n*v(i))))^2)*(a^2 + b^2 + c^2 - R^2))) / (2*(1 + (k*(cos(n*v(i))))^2)); end x = u(i).*(cos(v(i))); y = u(i).*(sin(v(i))); z = k*u(i).*(cos(n*v(i))); plot3 (x,y,z) hold on for(i = 1:length(v)) u(i) = (-(2*a*(cos(v(i))) + 2*b*(sin(v(i))) + 2*k*c*(cos(n*v(i)))) + sqrt ((2*a*(cos(v(i))) + 2*b*(sin(v(i))) + 2*k*c*(cos(n*v(i))))^2 - 4*(1 + (k*(cos(n*v(i))))^2)*(a^2 + b^2 + c^2 - R^2))) / (2*(1 + (k*(cos(n*v(i))))^2)); end x = u(i).*(cos(v(i))); y = u(i).*(sin(v(i))); z = k*u(i).*(cos(n*v(i))); plot3 (x,y,z)
Ai-je fait une grossière erreur dans mes plot ? ou bien n'ai-je pas bien compris l'utilisation du for ? ou ...
J'ai également une petite question sur la division. Je n'arrive pas à savoir laquelle je dois mettre.
Je vous remercie d'avance de vos éclaircissements car je souhaite savoir bien utiliser Matlab .
Yawgmoth
Partager