Bonjour à tous,
je veux créer un vecteur Matlab contenant des chaines de caractères ainsi q'un matrice aussi contenant des chaines qui peut m'aider?
Bonjour à tous,
je veux créer un vecteur Matlab contenant des chaines de caractères ainsi q'un matrice aussi contenant des chaines qui peut m'aider?
La question n'est pas très claire.
Aurais-tu un exemple à nous montrer ?
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)
Bonjour,
je veux créer un vecteur F [f1 f2 f3 f4 f5 ] ;
et un matrice
M=
aaa bbb ccc
ddd eee fff
ggg hhh iii
c'est un exemple, si vous pouvez m'aider.
Il faut utiliser un tableau de cellules
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)
Merci bien, j'ai essayé d'utiliser un tableau de cellules mais je n'arrive pas à le remplir en utilisant un boucle for: mon tableau a 7 lignes 100 colonnes je dois le remplir comme suit:
1ere ligne contient s1 s2 ---->s100
2 eme ligne contient s101------>s200
.
.
.
7 eme ligne contient s601----->s700
Comment le faire?
Bonjour,
Les matrices sont faites pour utiliser des nombres.
On peut faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 f1= char([97 97 97]) f2= char([98 98 98]) f3= char([99 99 99]) f4=char([100 100 100]); f5=char([104 104 104]); F =[f1;f2;f3;f4]
Bonjour,
Merci pour vos propositions, mais il me reste une solution pour remplir un tableau de cellules 100*7 (puisque ce impossible avec les matrices) par des chaines en utilisant un boucle s'il est possibles. je dois avoir comme résultat:
1ere ligne contient s1, s2 ---->s100
2 eme ligne contient s101------>s200
.
.
.
7 eme ligne contient s601----->s700
Comment le faire?
voici mon code:
Normalement tous va bien mais le résultat ne me convient pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 k=1; for i=1:7 for j=1:100 ES(i,j)='s'+k; k=k+1; end end ES
Bonjour
j'ai une matrice
M=
1 2 3
4 5 6
7 8 9
et une matrice RC=
0.5 1 0.75
0.25 1 1
0.5 1 0.5
avec RC(i,j) est associée à M(i,j)
Maintenant j'ai une autre matrice
M1=
3 4 5
2 1 6
2 3 1
contenant les meme valeurs que M1 mais avec des ordres différents
Mon problème est la suivante je veux avoir une matrice
R=
X1
X2
X3
avec X1 est la somme des RC de la ligne une de la matrice M1
X2 est la somme des RC de la ligne deux de la matrice M1
X3 est la somme des RC de la ligne 3 de la matrice M1
c -à-d
X1= 0.75+ 0.25+1 (0.75 est le RC de la valeur 3 de M puisque M et RC sont associés)
X2= 1+0.5+1
X3= 1+0.75+0.5
J'espère que j'ai bien réussis à décrire le problème
Si quelq'un peut m'aider ?
Remarque je souhaite bien que la solution contient des boucles car ce juste un exemple simplifiant le problème, en réalité j'ai une matrice (2500*7)
et merci d'avance
Bonjour,
Une solution :
ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 X1=sum(RC(M(M1(1,:)))) X2=sum(RC(M(M1(2,:)))) X3=sum(RC(M(M1(3,:))))
Code : Sélectionner tout - Visualiser dans une fenêtre à part X(1:3,:)=sum(RC(M(M1(1:3,:))),2)
Bonjour tout d'abord merci pour votre solution. J'ai essayé d'utiliser la 2 eme solution mais lorsque j'ai fait quelques modifications il ya des fautes qui apparaissent:
En réalité mes matrices M et RC sont des tailles (7*100) et M1 est de taille (2500*7)
et X1,X2,....X2500 ne contiennent pas exactement la somme de toutes les colonnes mais je veux par exemple que :
X1 contient la valeur de RC de colonne 1 + RC de colonne 2 + max(RC colonne 3, RC colonne 4)+ RC de colonne 5+ RC de colonne 6+ RC de colonne 7
de même pour X2,,,,,,X2500.
Bref il s'agit de la même problème sauf qu'il faut changer la fonction "sum" comme décrit ci-dessous .
J’espère que ce clair sinon essayez de me poser des questions pour que je vous explique encore.
Merci une autre fois.
Voici ma solution elle fonctionne mais lorsque j'ajoute la fonction "max" elle ne fonctionne plus!
X(1:2500,: )=RC(M(M1(1:2500,1))),2+RC(M(M1(1:2500,2))),2+RC(M(M1(1:2500,3))),2+(max(RC(M(M1(1:2500,4))),2,RC(M(M1(1:2500,5))),2))+(max(RC(M(M1(1:2500,6))),2,RC(M(M1(1:2500,7))),2))
Bonjour,
La formule ne va pas si M et M1 contiennent des zéros.
Tu prends le max des colonnes 4 et 5 et 6 et 7 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part X(1:2500,:)=RC(M(M1(1:2500,1)))+RC(M(M1(1:2500,2)))+RC(M(M1(1:2500,3)))+(max(RC(M(M1(1:2500,4)))+RC(M(M1(1:2500,5)))))+(max(RC(M(M1(1:2500,6))),RC(M(M1(1:2500,7)))));
Bonjour, voici mon code:
k=1;
for i=1:7
for j=1:100
M(i,j)=k;
k=k+1;
end
end
ES
for i=1:7
for j=1:100
RC(i,j)=1;
end
end
V1=(1:2:100);
V2=[101];
V3=[201];
V4=[301];
V5=[401];
V6=[501];
V7=(602:2:700);
n=1;
for i=1:length(V1)
R=[];
R=[R V1(i)];
for j=1:length(V2)
R=R(1:1);
R=[R V2(j)];
for k=1:length(V3)
R=R(1:2);
R=[R V3(k)];
for l=1:length(V4)
R=R(1:3);
R=[R V4(l)];
for p=1:length(V5)
R=R(1:4);
R=[R V5(p)];
for y=1:length(V6)
R=R(1:5);
R=[R V6(y)];
for o=1:length(V7)
R=R(1:6);
R=[R V7(o)];
RR(n,: )=R
R=R(1:7);
n=n+1;
end
end
end
end
end
end
end
RR;
M1=RR;
X(1:2500,: )=RC(M(M1(1:2500,1)))+RC(M(M1(1:2500,2)))+RC(M(M1(1:2500,3)))+(max(RC(M(M1(1:2500,4)))+RC(M(M1(1:2500,5)))))+(max(RC(M(M1(1:2500,6))),RC(M(M1(1:2500,7)))));
Lorsque je 'éxecute vois l'erreur:
??? Index exceeds matrix dimensions.
Error in ==> test1 at 61
X(1:2500,: )=CR(ES(ConfValid(1:2500,1)))+CR(ES(ConfValid(1:2500,2)))+CR(ES(ConfValid(1:2500,3)))+(max(CR(ES(ConfValid(1:2500,4)))+CR(ES(ConfValid(1:2500,5)))))+(max(CR(M(ConfValid(1:2500,6))),CR(ES(Co
>> Si vous pouvez la corriger et merci infiniment.
Je n'ai pas d'erreur sauf pour ES ? :
X ne contient que des 6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 k=1; for i=1:7 for j=1:100 M(i,j)=k; k=k+1; end end ES
je veux dire par ES, M => j'ai oublié de le remplacer par M ici. Ce bon je viens de l'exécuter une autre fois et ça marche Merci bien pour votre aide !
Bonjour une autre fois,
Maintenant je veux remplacer les "+" par des "*" en gardant la même formule comment faire?
Voici ce que j'ai écrit:
X(1:2500,: )=RC(M(M1(1:2500,1)))*RC(M(M1(1:2500,2)))*RC(M(M1(1:2500,3)))*(max(RC(M(M1(1:2500,4))),RC(M(M1(1:2500,5)))))*(max(RC(M(M1(1:2500,6))),RC(M(M1(1:2500,7)))));
Mais l'erreur :
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Si vous pouvez m'aidez?
Merci d'avance.
Bonjour,
Supposant que j'ai une matrice A(2500,7)
Je veux avoir une matrice B (taille inconnue) en faisant un test:
Si la somme de colonne de la ligne dans A >500 la ligne va être stocker dans B (parcourir toutes les lignes).
Comment faire?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager