WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Nicht vorhandene Matrixdimensionen erkennen

 

SMC09

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2009, 09:52     Titel: Nicht vorhandene Matrixdimensionen erkennen
  Antworten mit Zitat      
Hallo!

Ich habe folgendes Problem: Ich möchte gerne Matlab überprüfen lassen, ob die bla.bla(x-5) existiert.
Mit dem Befehl "isempty" kommt man nicht weit, da dieser nur auf leere Matrizen anspricht. Da bla.bla(x-5) ja gar nicht existiert, ist sie also auch nicht leer.

Gibt es dafür eine Lösung?

Vielen Dank!


qualle
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 03.07.09
Wohnort: ---
Version: R2007a
     Beitrag Verfasst am: 15.07.2009, 09:55     Titel:
  Antworten mit Zitat      
Hallo,

mit dem Befehl
Code:

kannst du dir alle bisher definierten Dinge aufrufen lasse.

Gruß qualle
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 15.07.2009, 09:56     Titel:
  Antworten mit Zitat      
Moin,

ist "bla.bla" deine Matrix?! Dann kannst du mit
Code:
die Größe der Matrix feststellen und anschließend mittels > und < überprüfen ob das zu wählende Element überhaupt vorhanden sein kann.

Oder meinst du etwas anderes?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2009, 10:01     Titel:
  Antworten mit Zitat      
Hallo!

Ich glaub ich erläutere das ganze noch etwas tiefer: Es geht darum, dass ein Algorithmus jede Iteration einen Wert einspeichert, mittels bla.bla(x), wobei x die aktuelle Zeit ist. Anschließend muss er in der nächsten Iteration auf die zurückliegende Zeit bla.bla(x-1) zugreifen. Diese ist jedoch aufgrund der unregelmäßigen Berechnungen manchmal nicht vorhanden, da Zeitschritte gößer 1 Sekunde gemacht wurden. Aus diesem Grund soll Matlab überprüfen, ob das Zeitschritt bla.bla(x-1) existiert.

Es dar nix manuelles sein, dass ich in das Comand Window schreibe!

Gibt es dafür eine Möglichkeit?
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 15.07.2009, 10:08     Titel:
  Antworten mit Zitat      
Moin,

dann solltest nicht überprüfen, ob dieser Eintrag leer ist, sondern ob er ==0 ist:
Code:
>> a(1) = 1; a(3) = 4;
>> a

a =

     1     0     4


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2009, 10:18     Titel:
  Antworten mit Zitat      
Ja klar, das würde schon gehen, aber leider nicht bei mir, da der Eintrag ja noch garnicht existiert. In deinem Beispiel hast du a(1) und a(3), wodurch Matlab selbstständig a(2) = 0 setzt. Aber ich habe bei mir NUR a(1) und will prüfen ob a(2) existiert. Dadurch bekomme ich bisher den Fehler "Index exceeds Matrix dimensions".

Hast du vielleicht noch eine andere Idee?
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 15.07.2009, 10:31     Titel:
  Antworten mit Zitat      
Dann teste doch einfach mit size bzw. length auf die Größe, wenn dein Index größer ist, als die entsprechende ausgegebene Zahl, dann hast du deine Bedingung.
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 15.07.2009, 10:31     Titel:
  Antworten mit Zitat      
Siehe mein erster Beitrag. Ansonsten gib bitten einen Beispiel-Code der dein Verhalten zeigt.
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.