Représentation d'un ellipsoïde Matlab
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Représentation d'un ellipsoïde Matlab



  1. #1
    Marsu23

    Représentation d'un ellipsoïde Matlab


    ------

    Bonjour,

    je souhaiterai représenter un ellipsoïde et le déformer par la suite pour lui donner une forme particulière .
    je pense utilisé la fonction pré-enregistrer de Matlab ellipsoid() mais je dois d'abord crée les coefficients k3 et K2 sachant que comme ceci varient je pensais les stocker dans deux matrice vides
    c'est coefficient doivent multiplier les valeurs du demi petit axe et demi grand axe de mon ellipsoide
    je ne sais pas si c'est une bonne idée
    j'ai pour le moment effectuer le code suivant:

    Code:
    l = 1;
    x = 0:0.01:1; 
    N = length(x);
    k3 = [];
    k2 = [];
    for  i = 0:N
        xtild = (x(i)-0.2*l)/(0.75*l-0.2*l);
        k3 = -(1/6)*(sin(pi*x(i)-pi/2)+1)-(x(i)^2)/8 +1/2;
        if (x(i)>=0 && x(i)<0.2)
             k2 = 1;
        elseif  (x(gi)>=0.75 && x(i)< 1)
             k2 = 1-(sin(pi*xtild-pi/2)+1)/5; 
        else(x(i)>=0.75 && x(i)<1); 
             k2 = 3/5; 
    end 
         k3 = a;
         k2 = b;
    end
    Du coup je voulais savoir si quelqu'un voyait une erreur flagrante sachant que j'ai l'erreur suivant qui s'affiche:
    Code:
    Array indices must be positive integers or logical values.
    
    Error in Untitled4 (line 7)
        xtild = (x(i)-0.2*l)/(0.75*l-0.2*l);
    Bien cordialement,

    Marsu23

    -----

  2. #2
    umfred

    Re : Représentation d'un ellipsoïde Matlab

    les indices doivent commencer à 1 donc ta boucle doit être "for i=1:N"
    Autres problèmes, a et b ne sont pas définis, donc il va y avoir une erreur sur les lignes "k3=a;" et "k2=b;"

  3. #3
    Marsu23

    Re : Représentation d'un ellipsoïde Matlab

    Effectivement, Merci pour la réponse

  4. #4
    Marsu23

    Re : Représentation d'un ellipsoïde Matlab

    Du coup j'ai fais comme ceci et ça à l'air de fonctionner
    Code:
    l = 1;
    x = 0:0.01:1; 
    N = length(x);
    xtild = zeros(1,N);
    k3 = zeros(1,N);
    k2 = zeros(1,N)
    for  i = 1:N
        xtild(1,i) =(x(i)-0.2*l)/(0.75*l-0.2*l);
        k3(1,i) = -(1/6)*(sin(pi*x(i)-pi/2)+1)-(x(i)^2)/8 +1/2; 
        if (x(i)>=0 && x(i)<0.2)
             k2(1,i) = 1;
        elseif (x(i)>=0.75 && x(i)< 1)
              k2(1,i) = 1-(sin(pi*xtild(1,i)-pi/2)+1)/5; 
        else(x(i)>=0.75 && x(i)<1); 
           k2(1,i) = 3/5; 
        end
        disp(k2);
        disp(k3);
    end
    Merci

  5. A voir en vidéo sur Futura
  6. #5
    Marsu23

    Re : Représentation d'un ellipsoïde Matlab

    Du coup pour j'ai programmé l'ellipsoïde en utilisant la définition de Wikipédia

    Code:
    q = 10; % demi peti axe
    p = 20; % demi grand axe 
    u = 0 : pi/100 : pi; %phi
    v = 0 : pi/100 :2*pi; %teta
    
    [U,V] = meshgrid(u,v);
    X = q *cos(V).*cos(U);
    Y = p * cos(V).*sin(U); 
    Z = p *sin(V);
    
    surf(X,Y,Z)
    et en fait ce que je veux faire c'est multiplier les valeur de p et de q par K2 et K3 qui sont des matrices (je ne sais pas qui est le demi petit axe dans la formule de Wikipédia)

  7. #6
    umfred

    Re : Représentation d'un ellipsoïde Matlab

    le demi petit axe c'est celui qui a la plus petite valeur CQFD

Discussions similaires

  1. Représentation equ. diff. via Matlab
    Par henrigresse dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 20/05/2016, 09h52
  2. Representation graphique sur matlab
    Par dalida1111 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 04/04/2012, 19h46
  3. Aide sous Matlab: générer une matrice de point à partir d'une ellipsoïde
    Par mintraf dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 06/12/2010, 07h00
  4. Coupe en représentation 3D Matlab
    Par tpscience dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 06/05/2009, 20h09
  5. Matlab: Représentation graphique
    Par invite2d9939ba dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 26/03/2008, 10h15