|
babsi83 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2014, 22:06
Titel: multiplikation von Cell
|
 |
Hallo zusammen,
ich habe ein 1x5 cell, dass 1x360 vektoren enthält. Ich möchte jetzt gerne den Vektor des 5. cells mal (-1) nehmen.
nur bekomme ich da jetzt die fehlermeldung 'exceeds matrix dimension'. Ich versteh aber nicht warum! Vielleicht kann mir da von euch profis einer weiterhelfen
Danke schonmal.
B.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.08.2014, 22:25
Titel:
|
 |
Hallo,
sollte gehen. Bitte nochmal die Dimensionen überprüfen.
Ansonsten lassen sich solche Probleme am besten anhand eines reproduzierbaren Beispiels lösen.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.08.2014, 13:55
Titel: Re: multiplikation von Cell
|
 |
Hallo babsi83,
Die Fehlermeldung ist eindeutig: "cellArr" enthält weniger als 5 Elemente. Doe Annahme, es sei ein 1x5 cell ist nicht richtig.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.08.2014, 18:37
Titel:
|
 |
Hallo Jan,
Es ist ganz sicher ein 1x5 Array. Wenn ich dem 5. Array einen Wert zuweise greift matlab darauf zu. Auch wenn ich mir den Vektor ausgeben lassen will, wird es mir ausgegeben.
Lg.
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.08.2014, 17:58
Titel:
|
 |
guten Tag,
ich habe ein ähnliches Problem und stell meinen Beitrag mal hier dazu
Mein Cell ist 1x9 lang und enthält vektoren. Einige Cells/Vektoren möchte ich jetzt *(-1) nehmen und bekomme die gleiche Fehlermeldung wie weiter oben schon beschrieben.
Ich glaube auch zu wissen, warum ich die Fehlermeldung bekomme - die schleife läuft doch zuerst für i = 1, dann für i = 2 usw. durch. Und beim 1. Durchgang gibt es noch keinen mittelwert{4} - oder?
Falls das der richtige Grund ist, verstehe ich nicht, warum es Funktioniert, wenn ich einen Skalar zuweise.
So funktioniert es!
Vielleicht kann wer helfen, bzw. gibt es eine elegante Methode das Problem zu lösen, ohne die Schleife nach
zu beenden, die Zuweisung machen und dann eine neue Schleife beginnen?
Vielen Dank!!
glg.
tommy
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 06.08.2014, 22:33
Titel:
|
 |
Diese Codezeile
ist im Gegensatz zu
eine Zuweisung. Es muss nur die Variable mittelwert existieren, nicht aber die 4. Zelle. Da mit i = 1
auf jeden Fall die Variable mittelwert angelegt wird, fügt MatLab beim Ausführen von
die fehlenden Zellen einfach automatisch mit
hinzu. Bei
wird aber eben nicht vorher die fehlenden Zellen eingefügt und MatLab weiß ja auch gar nicht mit was die 4. Zelle mit -1 multiplizieren soll. Daher kommt dann auch die Meldung "??? Index exceeds matrix dimensions."
Zu deiner 2. Frage kann ich nichts sagen, da mir schlicht weg schleierhaft ist, was dieser Code erzeugen soll.
Man sollte definitiv Variablen immer vor der Schleife anlegen, da dies auch die Ausführungszeit verkürzt. Z.B.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|