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 :

scission de matrice


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Points : 4
    Points
    4
    Par défaut scission de matrice
    Bonjour tout le monde,

    J'ai une matrice tirée de Fluent sous la forme :

    A=[
    0.2 5
    0.8 2
    0.9 9

    0.1 2
    0.6 9
    0.7 5
    0.9 9

    0.1 9
    0.7 2
    ]


    les valeurs de la colonne 1 varient toujours entre 0 et 1 (les valeurs correspondant de la deuxième colonne ne suivent aucune logique).

    J'aimerais scinder ces deux colonnes de la façon suivante:

    A1 = [
    0.2 5
    0.8 2
    0.9 9];

    A2=[
    0.1 2
    0.6 9
    0.7 5
    0.9 9];

    A2=[
    0.1 9
    0.7 2];

    la colonne de chacune des trois matrices commence par une valeur > 0 et finit par une valeur juste inférieur à 1.

    La fonction repmat ou mat2cell permet une scission uniforme, je ne sais pas si il y a une fonction qui puisse m'aider à résoudre mon problème.


    Merci d'avance pour toute remarque et bonne journée

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Il n'y a aucun intérêt à créer N matrices A1, A2... AN.

    Il suffit de stocker les indices des lignes qui délimitent chaque bloc.

    Par exemple :

    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
    A = [0.2 5
        0.8 2
        0.9 9
        0.1 2
        0.6 9
        0.7 5
        0.9 9
        0.1 9
        0.7 2]
     
    d = diff([0;A(:,1)]);
    s = sign(d);
    f = find(s==-1);
    idx = [1 ; f ; size(A,1)+1];
     
    for n = 1:numel(idx)-1
     
        A(idx(n):idx(n+1)-1,:)
     
    end
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15
  2. [CR] entête et pied sur page 1/B de matrice
    Par chloe.j3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/09/2002, 12h07
  3. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44
  4. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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