Séparation d'un vecteur en plusieurs vecteurs
Romaric
-
Romaric -
Romaric -
Bonjour,
Je cherche à trier un très long vecteur colonne en plusieurs petits vecteurs afin de pouvoir connaitre leur taille, leur valeur maximale et leur somme. Le vecteur d'entrée est principalement composé de 0 mais possède quelques suites de valeurs non nulles. Les vecteurs de sortie correspondent aux suites de valeurs non nulles. Je souhaiterai aussi pouvoir connaitre leur position dans le vecteur d'origine.
Exemple :
V = 00...0Y1Y2..Yn00.......0Yn+1..Yn+n00.....0Y2n... etc.
devient
Y1Y2..Yn [position de Y1 dans V, position de Yn dans V]
Yn+1..Yn+n [position de Yn+1 dans V, position de Yn+n dans V]
etc.
Avez vous une idée de la façon dont je peux m'y prendre ?
Merci =)
EDIT1 : Ce serait sous MATLAB
Je cherche à trier un très long vecteur colonne en plusieurs petits vecteurs afin de pouvoir connaitre leur taille, leur valeur maximale et leur somme. Le vecteur d'entrée est principalement composé de 0 mais possède quelques suites de valeurs non nulles. Les vecteurs de sortie correspondent aux suites de valeurs non nulles. Je souhaiterai aussi pouvoir connaitre leur position dans le vecteur d'origine.
Exemple :
V = 00...0Y1Y2..Yn00.......0Yn+1..Yn+n00.....0Y2n... etc.
devient
Y1Y2..Yn [position de Y1 dans V, position de Yn dans V]
Yn+1..Yn+n [position de Yn+1 dans V, position de Yn+n dans V]
etc.
Avez vous une idée de la façon dont je peux m'y prendre ?
Merci =)
EDIT1 : Ce serait sous MATLAB
A voir également:
- Séparation d'un vecteur en plusieurs vecteurs
- Trait de séparation word - Guide
- Ajouter ou supprimer une ligne horizontale dans Word - Guide
- Barre séparation clavier - Forum Excel
- Barre verticale droite sur clavier ✓ - Forum Autres distributions Linux
- Comment séparer un pdf - Guide
1 réponse
J'ai réussi à sortir un petit truc, je vous le copie colle ci dessous. Pouvez vous me dire comment l'améliorer s'il vous plait ? =)
Première fonction : fonction de tri
Deuxième fonction : tableau donnant le nombre de valeurs de chaque petit vecteurs, le maximum et leur somme (multipliée par 60 dans mon cas)
Voilou.
Merci pour les remarques à venir =)
Première fonction : fonction de tri
function [ M ] = tri( V )
k=1;
l=1;
for n=1:size(V)-1
if V(n)==0 && V(n+1)~=0
M(l,k)=V(n+1);
l=l+1;
end
if V(n)~=0 && V(n+1)~=0
M(l,k)=V(n+1);
l=l+1;
end
if V(n)~=0 && V(n+1)==0
k=k+1;
l=1;
end
end
M;
end
Deuxième fonction : tableau donnant le nombre de valeurs de chaque petit vecteurs, le maximum et leur somme (multipliée par 60 dans mon cas)
function [ T ] = tabval( M ) for k=1:size(M,2) T(1,k)=nnz(M(:,k)); T(2,k)=max(M(:,k)); end T(3,:)=sum(M*60); end
Voilou.
Merci pour les remarques à venir =)