|
|
Edit Felder verursachen ein dimensions problem?! |
|
Thanatos |

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 15.04.2009, 15:32
Titel: Edit Felder verursachen ein dimensions problem?!
|
 |
|
 |
|
Hallo zusammen,
habe folgendes Problem:
Über 3 Edit-Felder kann ich 3 zahlen einlesen. es ist so programmiert, dass nicht alle 3 Felder ausgefüllt sein müssen um eine berechnung zu starten. allerdings liegt hier auch schon das problem. Gebe ich im ersten Feld z.b. 10 ein und fülle die anderen felder incht aus (programm überigbt leere felder als = 0 ) dann führt das im nachfolgenden zu einer fehlermeldung "matrix dimensions must agree" . Anbei mal der auszug aus meinem Programm:
A, B und C sind die übergebenen Werte der Edit-Felder. maxG,VL1-3 und V sind auch vorgegebene Zahlen.
Sobald ich versuche das ausführen zu lassen kommt die Fehlermeldung ander stelle wo ich proG berechnen will. Ich steig nur nicht hinter warum.
Wenn A=10 B=0 und C=0 und maxG=12000 (als Beispiel) habe ich doch vernünftige Zahlen?!
die Werte der edit-Felder werden so ausgelesen:
wie gesagt, ich komme nicht weiter. Denn das eigenartige ist, sobald ich einmal alle Felder mit Zahlen belegt hatte, funktioniert es ohne Fehlermeldung.
Ich hoffe wie immer auf eure findige Hilfe!
_________________
LG
Thanatos
|
|
|
|
|
Bijick |

Ehrenmitglied
|
 |
Beiträge: 914
|
 |
|
 |
Anmeldedatum: 18.06.07
|
 |
|
 |
Wohnort: Nürnberg
|
 |
|
 |
Version: R2006b, R2008b
|
 |
|
|
 |
|
Verfasst am: 15.04.2009, 17:23
Titel:
|
 |
Hallo Thanatos,
die Fehlermeldung 'matrix dimensions must agree' für die Zeile
lässt vermuten, dass maxG oder GesG keine Zahl, sondern Vektor oder Matrix sind. Dann bedeutet '/' nämlich eine Vektoroperation. Verfolge mal die beiden Variablen zurück zu ihrer Entstehung.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
Thanatos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 15.04.2009, 21:40
Titel:
|
 |
hmm..so ganz versteh ich nicht was du meinst, aber ich kann dir folgendes sagen:
GesG ist ja, wie man oben sieht ne Summe der 3 eingelesenen Zahlen.
und maxG ist eine (so habe ich das zumindest gewollt) aus einer datei eingelesene Zahl. das ist eine *.dat datei in der eigentlich nur 2 Zahlen nebeneinander stehen. Sieht matlab das vielleicht als eine Vektorzahl an und meckert deswegen? Wenn ja, was kann ich dagegen machen?
_________________
LG
Thanatos
|
|
|
Maddy |

Ehrenmitglied
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 02.10.08
|
 |
|
 |
Wohnort: Greifswald
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.04.2009, 22:56
Titel:
|
 |
Lass dir doch mal die Sachen ausgeben bzw. debugg den code mal, dann siehst du ja die Belegung der Variablen. Wenns ein Vektor mit 2 Elementen ist, sollte maxG(1) abhilfe schaffen.
_________________
>> why
The computer did it.
|
|
|
Thanatos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 09:38
Titel:
|
 |
guten Morgen,
also ich hab das grade mal debugged und er spuckt tatsächlich nur eine Zahl aus.
das eigenartige an der sache ist ja, dass es nur am anfang nicht funktioniert. sobald ich einmal ne große zahl zur berechnung eingegeben habe, so dass ein anderes unterprogramm mit der großen zahl hantieren muss, funktioniert es danach auch mit der kleinen zahl.
zum besseren verständnis:
- es ist ein programm, dass schiffe belädt, wobei die ladung mit unterschiedlichen koeffizienten eingeht
- ab einer bestimmten menge (wenn ins größte schiff nix mehr reingeht) nimmt das prog ein 2. schiff dazu um die ladung einladen zu können
- sobald einmal 2 schiffe benutzt wurden und man versucht im anschluss wieder mit ner kleinen zahl nur ein schiff zu beladen, funktioniert dies ohne die fehlermeldung.
- selbst wenn ich das prog beende und neustarte funktioniert es noch
bin ziemlich verzweifelt grad
_________________
LG
Thanatos
|
|
|
Trimax |

Forum-Fortgeschrittener
|
 |
Beiträge: 54
|
 |
|
 |
Anmeldedatum: 09.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:14
Titel:
|
 |
Am besten, Du hälst den Code kurz vor der Berechnung von GesG an und postest den Inhalt vom function space
VG
Trimax
Zuletzt bearbeitet von Trimax am 16.04.2009, 11:59, insgesamt 2-mal bearbeitet
|
|
|
Thanatos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:42
Titel:
|
 |
wie meinst du das? debug bis GesG=A+B+C ? und dann? sry steh grad aufm schlauch
_________________
LG
Thanatos
|
|
|
Trimax |

Forum-Fortgeschrittener
|
 |
Beiträge: 54
|
 |
|
 |
Anmeldedatum: 09.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:47
Titel:
|
 |
Du gehst in die o.g. Zeile, drückst F12 (Breakpoint wird gesetzt). Dann gehst Du ins command window und gibst "whos" ein und postest hier den Auszug.
|
|
|
Thanatos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:50
Titel:
|
 |
ahh..sry für meine unwissenheit!
hier der auszug:
also ich versteh das so, dass maxG durch 0x0 gar nicht belegt ist?! aber wieso das denn nicht... habs im hauptprogramm aus ner datei geladen und über global verfügbar gemacht
_________________
LG
Thanatos
Zuletzt bearbeitet von Thanatos am 16.04.2009, 11:53, insgesamt einmal bearbeitet
|
|
|
Trimax |

Forum-Fortgeschrittener
|
 |
Beiträge: 54
|
 |
|
 |
Anmeldedatum: 09.04.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:53
Titel:
|
 |
Und da ist auch das Problem:
Führt zu "Matrix dimensions must agree.", da maxG zwar definiert aber nicht initialisiert ist bzw. keinen Wert enthält (size 0x0).
VG
Trimax
|
|
|
Thanatos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 8
|
 |
|
 |
Anmeldedatum: 19.03.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 16.04.2009, 11:58
Titel:
|
 |
Ah, verdammt, gut dann hab ich den Fehler gefunden.
ich habe erst die neue GUI aufgerufen und dann die Werte übergeben! Kaum geändert, schon funktioniert es!
Vielen Dank! Ich wäre da nie drauf gekommen! (so simpel und doch so verheerend )
_________________
LG
Thanatos
|
|
|
|
|
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.
|
|