|
|
| caibang |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 01.05.17
|
 |
|
 |
Wohnort: Schweiz
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 08:28
Titel: MathLab programmieren
|
 |
Hi!
Ich bin Neuling in MathLab. Daher würde ich mich freuen wenn jemand mir beim Einsteigen helfen kann.
Hier ist schon mein erstes Problem mit dem einfachen Code:
Nach Eingabe
Q = quad(@myfun,0,2);
in Command Windows, kommen Errors:
??? Undefined function or variable "shift".
Error in ==> myfun at 2
y = 1./((x+shift).^3-2*x-5);
Error in ==> quad at 77
y = f(x, varargin{:});[/code]
Was ist falsch in de Code?
Wie kann ich korrigieren?
Danke für Hilfe.
|
|
|
|
|
|
| retsam |

Forum-Century
|
 |
Beiträge: 112
|
 |
|
 |
Anmeldedatum: 23.09.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 09:04
Titel:
|
 |
Guten Morgen,
also bei mir funktioniert der Code (fast) wie du Ihn eingegeben hast.
1. Die Variable shift muss vorher bekannt sein.
2. bei mir musste ich einen Wert x eingeben.
Folgender Code funktioniert bei mir auf der Konsole:
Eventuell die variablen wie Shift vorher definieren...
Greetz
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 11:18
Titel:
|
 |
Hallo,
und als Funktionsdeklaration
Grüße,
Harald
|
|
|
|
| caibang |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 01.05.17
|
 |
|
 |
Wohnort: Schweiz
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 14:40
Titel:
|
 |
Vielen Dank für die Anweisungen.
@retsam: die code, wie du auf der Console eingegeben hast, funktioniert auch bei mir. Aber nicht der Befehl
@Harald: ich habe die Code, wie du vorgeschlagen hast, nach gebildet.
Aber es tritt immer noch Fehlermeldung auf:
>> Q = quad(@(x) myfun(x,shift),0,2);
??? Maximum recursion limit of 500 reached. Use
set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack
space can
crash MATLAB and/or your computer.
Error in ==> fcnchk
Beim Ausführen der Code ist aber andre Fehlermeldung:
??? Input argument "x" is undefined.
Error in ==> myfun at 2
y = 1./((x+shift).^3-2*x-5);
Was ist dabei falsch?
PS. Wie kann man die Code in einem Rahmen generieren?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 14:49
Titel:
|
 |
Hallo,
die Funktion und der quad-Aufruf sollten in getrennte Funktionen, z.B. getrennte Editor-Fenster.
Für Anfänger bietet das MATLAB-Onramp eine systematische Einarbeitung:
https://matlabacademy.mathworks.com/
Grüße,
Harald
|
|
|
|
| caibang |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 01.05.17
|
 |
|
 |
Wohnort: Schweiz
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 01.05.2017, 15:06
Titel:
|
 |
|
@Harald: Vielen Dank für die Link zum Course
|
|
|
|
|
|
|
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.
|
|