IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Matrix generation file


Sujet :

MATLAB

  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 16
    Par défaut Matrix generation file
    Bonjour,
    quelqu'un sait peut être comment traduire ses lignes en "m.file" matrix, j'en ai besoin pour implémenter dans mon algorithme de calcul



    10 for i = j
    a) aij = { -5 for i = j-1 or i = j +1, bi = -6 + 0.2 i, i, j = 1, …,n;
    0 other cases


    b) aij = 4/[3(i + j + 1)], bi = 4, i – even; bi = -2, i – odd, i, j = 1, …,n;

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    C'est plutôt incompréhensible tes denieres lignes... Par exemple que veut dire la première ligne :
    10 for i=j
    ?

    Et c'est pareil pour le reste, peux-tu traduire?

    Et as-tu essayer de coder quelque chose? Ça ressemble a une imbrication de boucle for et de condition if? Peux-tu nous montrer ton code?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 16
    Par défaut
    dans mon exercice je dois resoudre un system des equations lineaires utilisant l'algorithme de Gauss. j'ai fini l'algorithme, mais mon problème a traduire les equations en des matrice et vecteurs !!!

    voila mon algorithme:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    function x=ppGE(A,b)
    %
    % Solves Ax=b by Gaussian elimination with partial pivoting.
    %
    % Input:
    % Nonsingular square matrix A of order n
    % Vector b of order n
    %
    % Output:
    % Solution vector x
    %
    % Check to make sure that the matrix A is square, and establish order n
    %
    tol=1e-15;
    [m,n] = size(A);
    if m ~=n
        error('The matrix is not square.')
    end
    %
    % Perform Gaussian elimination
    %
    for k=1:n-1
        % find max pivot p and its index r relative to diagonal in column k
        [p,r] = max(abs(A(k:n,k)));
        % check pivot size
        if abs(p) <= tol;
            fprintf('pivot = %f\n', p);
            error('pivot below tolerance');
        end
        % index of row with maximal element
        q=k+r-1;
        % interchange rows k and q of A and b
        A([k,q],:) = A([q,k],:);
        b([k,q]) = b([q,k]);
        for i=k+1:n
            m=A(i,k)/A(k,k);
            for j=k+1:n
                A(i,j)=A(i,j)-m*A(k,j);
            end
            b(i) = b(i)-m*b(k);
        end
    end
    %
    % Apply backwards substitution to get solution x
    %
    for i=n:-1:1
        sum=0;
        for j=i+1:n
            sum = sum + A(i,j)*x(j);
        end
        x(i) = (b(i)-sum)/A(i,i);
    end
    Images attachées Images attachées  

  4. #4
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut
    Il suffit d'initialiser une matrice (avec des 0 par exemple) et de faire une double ou tu remplis les valeurs. Ppour le 1er système, ca donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    n= 10; %dimension
    A= zeros(n,n); % commence avec des 0 partout
    for i=1:n; for j=1:n
    if i==j; A(i,j)= 10;
    elseif abs(i-j)==1; A(i,j) = -5
    end;end
     
    B= -6+0.2*(1:n);

  5. #5
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 16
    Par défaut
    merci beaucoups, comment je fait pour la deuxième, je comprend pas comment faire pour b

  6. #6
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut
    mod(x,2) te permet de savoir si un nombre est pair; après il suffit d'adapter la méthode

Discussions similaires

  1. [Castor] generations des classes et Binding file pour castor
    Par vanesa dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 28/07/2009, 15h40
  2. Temp PDF file has not been generated
    Par zxr96 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/03/2008, 10h53
  3. Réponses: 6
    Dernier message: 30/07/2003, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo