Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Scilab] Erreur 21 et Erreur 4

Sujet résolu
    28 avril 2015 à 14:19:42

    Bonjour à tous,

    J'ai procédé à de nombreuses recherches sur différents forum et pdf du net j'ai même regarder des videos youtube en thai de Scilab et j’admets ne pas comprendre.

    En effet je suis en train de batailler avec ses exercices:

    Exercice 1: ´ Ecrire une fonction qui à une matrice A de taille m n, un vecteur-colonne de Rm et un
    entier j compris entre 1 et n renvoie la matrice A dans laquelle on a remplacé la j-`eme colonne par u.
    On écrira un test pour vérifier que les dimensions de A et u sont compatibles.

    m=4;n=4; A=rand(m,n); t=size(A,'c')-1; u=rand(t+1,1);
    for j=1:t, A(:,j:j)=[u];
      A
        end;

    Exercice 3: On définit la suite suivante : u0 = a>= 0 et
    un+1 =sqrt(1 + (u0 +...+ un)²)

    Pour a = 0, tracer la courbe représentant un/2^(n) en fonction n. Même question pour a = 1.

    S=0;u(1,1)= 0;
    for i=1:n
        S=S+u(i);
    end;
    
    
    
    for i=1:n
        u(i+1)=sqrt(1+S^2)
        disp([i,u(i)])


    Je sais que ce sont des exercices basiques pour certains mais je ne comprend pas mes erreurs.
    Je vous remercie d'avance pour votre aide. :'(

    -
    Edité par Fernandomora 2 mai 2015 à 16:19:25

    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2015 à 15:21:38

      Salut, 

      Scilab et moi sommes fachés depuis longtemps ^^ mais pour l'exercice 1 j'ai pensé à ça.

      function A=scilab(m,n)
      	A=rand(m,n)
      	u=rand(t+1,1);
      	[x,y] = size(A)
      	// x correspond à m et y à n mais autant faire directement
      	for j=0:1:n
      		A(:,j) = u
      	end
      endfunction



      • Partager sur Facebook
      • Partager sur Twitter
      Apprendre, c'est tout d'abord comprendre. As tu ThiLté ? ;)
        28 avril 2015 à 16:17:21

        Salut THiL,

        Merci beaucoup pour ta diligence, entre temps j'ai résolu l'exercice 2. :D

        Ta solution ne comporte pas de message d'erreur, mais tu as un t+1 qui apparait sans que tu aies définie t. et j'ai essayé ton programme mais aucune des colonnes n'est remplacé par le vecteur u.:euh:

        -->function A=scilab(m,n)
        -->    A=rand(m,n)
        -->    u=rand(t+1,1);
        -->    [x,y] = size(A)
        -->    // x correspond à m et y à n mais autant faire directement
        -->    for j=0:1:n
        -->        A(:,j) = u
        -->    end
        -->endfunction
         
        -->A
         A  =
         
            0.2590428    0.7656859    0.0962289   0.8191490  
            0.4139087    0.3572650    0.9561172   0.1304993  
            0.3599928    0.7693400    0.2207409   0.9682004  
            0.6912788    0.5477634    0.0143259   0.6561381  
         
        -->u
         u  =
         
            0.2445539  
            0.5283124  
            0.8468926  
            0.7876622



        • Partager sur Facebook
        • Partager sur Twitter
          28 avril 2015 à 16:24:58

          Autant pour moi, je n'ai pas scilab avec moi. Donc je n'ai accès à aucun résultat désolé :S

          j'essaie de te donner un chemin à suivre

          Mais ce serait peut être plus un truc du style:

          function A=scilab(m,n)
             A = rand(m,n)
             t = size(A)
             u = rand(m,1) //vecteur colonne
             for j=0:1:n
                A(:,j) = u
             end
          endfunction





          -
          Edité par THiL 28 avril 2015 à 16:25:57

          • Partager sur Facebook
          • Partager sur Twitter
          Apprendre, c'est tout d'abord comprendre. As tu ThiLté ? ;)
            28 avril 2015 à 17:09:38

            Merci beaucoup THiL, désolé je ne savais pas :'(.

            J'ai corrigé le tout ce qui me donne:

            function A=remplace(m,n)
                A=rand(m,n);t=size(A,'c'); u=rand(t,1);
                for j=0:1:n
                    A(:,j) = u;
                end
            endfunction
            

            Ceci dis je ne sais pas tester une fonction sur scilab :/.

            • Partager sur Facebook
            • Partager sur Twitter
              29 avril 2015 à 8:24:26

              Salut,

              (Ne sachant pas exactement ou scilab et toi en êtes dans votre histoire :p, j'explique.)

              Si tu te trouve sur Scilab et non pas un reboot de celui-ci. Tu devrais avoir devant toi un console avec comme commencement de ligne '-->'.

              Ce que tu peux faire c'est écrire tes fonctions dans un logiciel text/code tel que NotePad++ (je ne sais pas si j'ai le droit de faire de la pub :S), puis de les copier/coller dans la console scilab.

              Normalement à ce stade, Scilab a compilé ta fonction (en gros c'est ça)

              Ensuite, dans notre cas la fonction se nomme 'remplace', pour l'utiliser il te suffit de faire:

              A = remplace(4,4)
              // A étant une variable quelconque et non définie (scilab s'en fou)
              // m = 4 et n = 4
              

              Voila ! Ta fonction va s'executer.

              • Partager sur Facebook
              • Partager sur Twitter
              Apprendre, c'est tout d'abord comprendre. As tu ThiLté ? ;)
                2 mai 2015 à 11:38:23

                Merci beaucoup THiL pour ton aide, je pense que c'est bon pour l'exercice 1. ^^

                En ce qui concerne les autres exercice si quelqu'un pouvait me dire ce qui ne va pas.

                Je te remercie encore ThiL pour ton aide. :ange:

                • Partager sur Facebook
                • Partager sur Twitter
                  4 mai 2015 à 16:06:35

                  Salut Salut,

                  C'est encore moi :). Derien pour l'exercice1 :)

                  Explique moi l'exercice 3 s'il te plait, j'ai du mal à comprendre sur ton premier message.

                  ThiL

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Apprendre, c'est tout d'abord comprendre. As tu ThiLté ? ;)
                    7 mai 2015 à 21:29:34

                    Bonjour THiL,

                    J'ai réussi à résoudre l'exercice 3,

                    Exercice 3:

                    On définit la suite suivante : u0 = a>= 0 et
                    un+1 =sqrt(1 + (u0 +...+ un)²)

                    Pour a = 0, tracer la courbe représentant un/2^(n) en fonction n. Même question pour a = 1.

                    Il est assez complexe.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    [Scilab] Erreur 21 et Erreur 4

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown