|
|
if abs(a - xi) < acc -> Fehlermeldung |
|
VMH |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 17.10.10
|
|
|
|
Wohnort: Frankenwald
|
|
|
|
Version: 4.1.2, 5.3.0
|
|
|
|
|
|
Verfasst am: 17.10.2010, 14:04
Titel: if abs(a - xi) < acc -> Fehlermeldung
|
|
Hallo *!
Untenstehender Quelltext berechnet für 0<= a <= 1 iterativ eine Näherungslösung. Das Programm läuft auf einer SPS in SCL problemlos, aber in SciLab bereitet es mir Kopfzerbrechen: für 0<a<~0.8 bricht die Ausführung nach einigen Iterationen innerhalb der WHILE-Schleife beim Eintritt in's IF mit Fehlermeldung ab. Breakpoint auf den If-Eintritt ergibt, dass a, xi und acc reell sind und sinnvolle Werte enthalten.
Was mache ich falsch?
TIA, Volker
Quelltext:
|
|
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2010, 12:00
Titel:
|
|
Hi,
bei Ausführung von
"%pi * (%pi - ai + sin(2 * ai) / 2);"
entstehen bei sw(0.07) irgendwann negative Werte, die nach der Wurzelbildung zu komplexen Zahlen führen.
SciLab reagiert dann beim Vergleich einer komplexen Zahl mit der von Dir beobachteten Fehlermeldung.
Wenn man z.B.
1+%i > 0.5
eintippt, erhält man als Fehlermeldung
!--error 144
Undefined operation for the given operands
check or define function %s_2_s for overloading
Deshalb die Berechnung des Wurzelarguments für negative Argumente (oder 1/0) vorher abfangen.
Grüße
Andreas
_________________
Andreas Geißler
|
|
|
|
|
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.
|
|