|
|
Mysteriöse Probleme mit Vergleichsoperatoren (<, >, & |
|
Hiro |
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 22.07.2009, 16:07
Titel: Mysteriöse Probleme mit Vergleichsoperatoren (<, >, &
|
|
Hallo Leute,
jetzt bin ich ehrlich verwirrt.
Warum meldet MatLab mir bei folgendem Code
den Fehler "Unexpected MATLAB operator." für den "<"-Operator?
|
|
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.07.2009, 16:17
Titel:
|
|
schau doch mal mit dem Befehl
welcher Datentyp 'times' überhaupt ist...
das müßte der Fehler sein
oder gib mal ein bischen mehr als beispiel code
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.07.2009, 16:20
Titel:
|
|
Hallo,
verwende anstelle von for das while schlüsselwort:
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.07.2009, 17:55
Titel:
|
|
Hallo,
weil FOR erwartet eine Zuweisung keine Bedingung.
Deswegen hat Matlab FOR gleiche Eigenschaft wie FOREACH
Darum verwende besser WHILE-Loop, wenn du Bedingung hast, genau so, wie LittleX es vorgeschlagen hat
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 23.07.2009, 13:34
Titel:
|
|
Mit "while" funzt es.
Vielen Dank!
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 19.08.2009, 15:52
Titel:
|
|
Idefix_1024 hat Folgendes geschrieben: |
welcher Datentyp 'times' überhaupt ist...
das müßte der Fehler sein
|
*wiederausgrab*
times ist "single" und ein Vektor:
Aber du hast recht, der Fehler muss in "times" liegen.
Nachdem ich die Interpolation von "final_t" (x und Y waren vertauscht) korrigiert habe, wird "times" nun nicht mehr erstellt.
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 20.08.2009, 10:40
Titel:
|
|
Was ich nicht verstehe, ist, warum alle meine auf diese Art und Weise
erstellten Variablen "single" sind. Sollten sie nicht "double" sein, weil sie Spaltenvekoren sind?
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2009, 14:12
Titel:
|
|
hatte dieses Thema in der Tat nicht mehr verfolgt... danke für die Nachricht!
tja hmm
da würde ich sagen ist vom Prinzip her schon irgendwas faul...
wenn ich
ausführe, dann erhalte ich eine Variable "times" als double...
brich mal dein Programm auf was sehr kleines (wie zB das von mir angegebene) runter und poste das nochmal... evtl findet man so einen Ansatzpunkt...
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:13
Titel:
|
|
Danke, Idefix!
Hier die Parameter, wenn ich mein Problem so durchlaufen lasse:
delta_t = 246.5970
final_t = 34467644
steps = 24840
Du hast recht. Für kleine "steps", "final_t" und "delta_t" funzt es einwandfrei -- ich habe es bis 10^5 für "steps" und "final_t" versucht.
Für 10^6 funzt es wieder nicht mehr.
Ist also der MatLab-Speicher zu klein dafür? Kann man den vergrößern?
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:14
Titel:
|
|
Hallo
ist eine Variable als single definiert, ist das Ergebnis automatisch single.
Aber ich verstehe nicht, warum sollte es hier Problem darstellen?
sinlge sind doch auch float-Zahlen, aber mit kleineren Präzision
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:21
Titel:
|
|
Das Problem ist, dass "times" in meinem Programm nicht erstellt wird.
Ein Symptom davon scheint zu sein, dass "times" "single" ist.
Idefix hat es als erster vermutet und ich stimme ihm inzwischen zu, das das Problem darin liegt (oder damit zu tun hat), dass "times" als "single" erstellt wird. Denn eigentlich sollte ein erstellter Vektor unabhängig von seinen Komponenten doch standardmäßig "double" sein, oder irre ich mich?
Daraus ergibt sich, dass bei der Berechnung und Erstellung des "times"-Vektors irgend was falsch läuft, oder?
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:26
Titel:
|
|
wenn du nicht selbst diese Variable erzeugst aber gerne hättest, dass die Variable vom Typ double ist... warum "castest" du die Variable nicht einfach so wie du sie willst
vielleicht hilft das ja weiter....
Grüße
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:27
Titel:
|
|
delta_t = 246.5970
final_t = 34467644
steps = 24840
Bei solchen Werten wird es doch nie funktionieren:
Zuletzt bearbeitet von denny am 21.08.2009, 15:34, insgesamt einmal bearbeitet
|
|
|
Hiro |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 23
|
|
|
|
Anmeldedatum: 10.12.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: RC2009a (7.7.0)
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:34
Titel:
|
|
Ah, Hiro
Danke, denny!
Mal sehen...
Zuletzt bearbeitet von Hiro am 21.08.2009, 15:36, insgesamt einmal bearbeitet
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.08.2009, 15:36
Titel:
|
|
Dieser Ausdruck ist einfach falsch
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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 - 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.
|
|