Programme matlab: problème de dimensions de matrice
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Programme matlab: problème de dimensions de matrice



  1. #1
    Piwhy17

    Programme matlab: problème de dimensions de matrice


    ------

    Bonjour à tous,


    Je viens d'écrire le programme matlab suivant:



    Code:
    % Load the file initial.txt
    nodes = xlsread('PerfectpanelStart.xlsx');
    
    
    % Initialisation
    dimension = size(nodes,1);
    dimensionY = size(nodes,2);
    counter = 0;
    zeromat = zeros(dimension,dimensionY);
    pointer = 0;
    
    % Create the thickness of the panel
    thickness = input ('thickness of the panel: ')
    dt = thickness * 0.1;
    
    % Select number nodes to be displaced
    proportion = input('% of node needed to be displaced: ')
    count = (proportion/100) * dimension;
    round (count);
    
    % Creation of the nodes displacement
    while counter < count 
       nodeselect = floor ((rand(1)+(rand(1)/1000)) * dimension);
          
       if nodeselect >= 1
       	if zeromat(nodeselect,3) == 0
    			value = nodes(nodeselect,3);
    			randomnum = rand(1);
    			% dist = rand(1) * dt;
    			   
    			if randomnum >= 0.5
    				nodes(nodeselect,3) = value + dt;
    			else 
    				nodes(nodeselect,3) = value - dt;
    			end
          
    			zeromat(nodeselect,3) = 1;
       		counter = counter + 1;
       
    		elseif zeromat(nodeselect,3) == 1
    		end
    	end
    end   
    
    % Write output file : results.txt
    
    xlswrite('PerfectpanelResults.xlsx',nodes)

    Il marche parfaitement bien pour des petites matrices dans le fichier Excel, mais le problème est que je dois travailler sur une matrice 26 000 x 4 et lorsque je lance le programme avec une telle matrice j'ai le message d'erreur suivant:

    ??? Index exceeds matrix dimensions.

    Error in ==> Imperfections at 30
    if zeromat(nodeselect,3) == 0

    Ce que je ne comprends pas c'est que si ça venait d'une erreur de programmation j'aurais le même problème avec une petite matrice, non ?
    et si ce n'est pas une erreur de programmation alors c'est quoi ?

    Est ce que quelqu'un a une petite idée ?

    Merci d'avance

    -----
    Dernière modification par JPL ; 03/08/2012 à 16h24. Motif: Ajout de la balise Code pour garder l'indentation

  2. #2
    lou_ibmix_xi

    Re : Programme matlab: problème de dimensions de matrice

    Il marche parfaitement bien pour des petites matrices dans le fichier Excel, mais le problème est que je dois travailler sur une matrice 26 000 x 4 et lorsque je lance le programme avec une telle matrice j'ai le message d'erreur suivant:

    ??? Index exceeds matrix dimensions
    Excel est limité à 2^15 ou 2^16 lignes

  3. #3
    lou_ibmix_xi

    Re : Programme matlab: problème de dimensions de matrice

    Un autre conseil, avec MATLAB, essais d'utiliser des opérations matricielles à la place de boucles. Par exemple, ta variable randomnum devient une matrice et tu appliques la fonction find pour trouver les indices où randomnum(n, m) est >= 0.5

  4. #4
    Piwhy17

    Re : Programme matlab: problème de dimensions de matrice

    j'utilise que 26750 ligne d'Excel alors que 2^15 = 32768, du coup je suis en dessous,

    peut tu m'expliquer comment tu fais pour que ta variable randomnum devienne une matrice ???

    merci d'avance

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

    Re : Programme matlab: problème de dimensions de matrice

    Citation Envoyé par Piwhy17 Voir le message

    peut tu m'expliquer comment tu fais pour que ta variable randomnum devienne une matrice ???
    enfin je me suis mal expliqué, même en transformant ma variable randomnum en matrice, je ne vois pas comment je pourrais travailler dans ce cas la sans boucle itérative ?

Discussions similaires

  1. probleme avec programme detection qrs sur matlab
    Par inviteb0c08558 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/05/2011, 10h27
  2. programme matlab
    Par said76 dans le forum Technologies
    Réponses: 0
    Dernier message: 22/02/2011, 18h39
  3. programme matlab
    Par inviteb3568de1 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 24/05/2009, 12h52
  4. programme matlab
    Par invite33b8bd7f dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 18/08/2007, 16h13
  5. Calculs de dimensions fractales avec MATLAB
    Par invitebee5d8d7 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 10/11/2006, 15h18