Bonjour, je désire travailler avec une partie de ma matrice, existe-t-il une fonction qui me le permette? Sinon comment faire pour choisir les éléments voulus?
Merci d'avance pour votre aide.
Bonjour, je désire travailler avec une partie de ma matrice, existe-t-il une fonction qui me le permette? Sinon comment faire pour choisir les éléments voulus?
Merci d'avance pour votre aide.
Bonjour,
Pourrais-tu préciser ta question? Je comprends pas bien ce que tu veux faire
Tu peux peut-être regarder au niveau des Look-up table.
Duf
En fait j'importe un vecteur (7x2) de mon workspace, je peux travailler sans problème avec la deuxième colonne (ordonnées) mais pas avec la première (abscisses).
J'ai utilisé la fonction "Submatrix" (que je paramètre pour travailler avec la 1ère colonne) que je connecte à mon vecteur, mais on dirait qu'il n'y a qu'une seule colonne avec laquelle travailler, comme si la colonne correspondant aux abscisses était inutilisable.
Merci encore pour l'aide apportée.
Oui c'est tout à fait normal.
Je pense que tu n'as pas tout à fait saisi la "philosophie" de Simulink: il ne s'agit pas vraiment de travailler sur des vecteurs (ou des matrices) mais de simuler des systèmes (au sens large) en fonction du temps. Le temps est donc une grandeur "indicative" qu'on ne peut pas modifier dans Simulink.
Après selon ce que tu souhaites faire, 2 solutions s'offrent à toi:
- Travailler dans MATLAB qui lui est complètement fait pour ce genre de traitement
- Créer un vecteur avec 2 colonnes contenant le temps (mais pour être juste, il faut que ca garde un sens au niveau de la physique de ton problème)
Je souhaite définir un vecteur contenant l'altitude (ordonnées) en fonction de la distance (abscisses), tu me dis que je ne peux que définir un vecteur altitude=f(t) ?
Pourtant dans une discussion précédente ("élever une matrice au carrée, au cube") tu as écrit:
"Quand tu mets un vecteur avec 2 colonnes dans un bloc FromWorkspace, seule la seconde est utilisée en tant que telle, la première permet de définir les abscisses de ton vecteur"
Cela veut-il dire que pour mon problème, il faut que je définisse un vecteur 7x3 avec
1ère colonne: les valeurs du temps
2ème colonne: la distance correspondante
3ème colonne: l'altitude
et que je ne peux pas faire autrement?
Merci pour l'aide apportée.
Remarque: on m'impose de travailler sous simulink car c'est plus visuel que MATLAB, je dois "juste" faire un fichier qui à 2 entrées, un profil de route (altitude en fonction de la distance) et à un profil de vitesse (vitesse en fonction du temps et/ou de la distance) me donnera des graphes de puissances, d'énergies etc..
Je dois faire en sorte que le fichier soit le plus simple possible pour les futurs utilisateurs.
Est-ce que à chaque fois que j'importerais une matrice (m*2) la première colonne sera forcément perçue par simulink comme une donnée temporelle? Alors que rien n'aura été précisé? N'y -a-t-il pas un moyen pour changer ca?
(Si ce n'est pas le cas je referais un traitement des données mais si je peux l'éviter..)
Voilà, c'est fini pour les questions (pour l'instant)
En gros c'est tout à fait çà.
Dans l'absolu, Simulink est fait pour travailler en temporel. Après rien ne t'empêche de travailler en distance par exemple mais Simulink le percevra bien comme une donnée temporelle.
EDIT: A mon sens, si j'ai bien compris ce que tu veux faire, il serait plus judicieux de travailler avec MATLAB. Après rien n'est formellement imposé (on peut creuser un trou avec une cuillère même si une pelle serait plus appropriée) et j'ai peut-être pas compris exactement ton besoin
Enfin, une application peut être "user-friendly" sous MATLAB comme sous Simulink ou ne pas l'être sous les 2, cela dépend principalement du développeur...![]()
Donc ca veut dire que si dans ma réflexion, la 1ère colonne est la distance, si dans mes autres vecteurs la 1ère colonne reste la distance, cela ne posera pas de problèmes à Simulink. Il faut juste que je définisse mes vecteurs de la même façons tout au long du programme.
C'est bien ca?
Partager