|
|
beliebige Funktion über input eingeben und verarbeiten |
|
willi_vintage |

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 19:35
Titel: beliebige Funktion über input eingeben und verarbeiten
|
 |
ich möchte einen beliebige Funktion (Polynom, gebr. rationial etc.) über die input einlesen und die daraus erzeugte Zeichenkette vektoriell weiterverarbeiten. Geht sowas überhaupt (bin Neuling)? Die Suchfunktion gab mit nur die Möglichkeit von inline aus.....aber damit komme ich nicht klar.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 19:45
Titel:
|
 |
Hallo,
bitte immer dazu sagen, was du genau versucht hast.
inline ist veraltet und würde ich meiden.
Eine Möglichkeit:
Grüße,
Harald
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 20:23
Titel:
|
 |
Hallo Harald,
Danke erstmal....
naja, du wirst lachen, ber ich vesuche mich nun seit etwa 3 Stunden daran, eine einfache Funktion im Script einzulesen.... also f=input('Funktion eingeben:'). Hier meckert er natürlich immer, dass die Variable x unbekannt sei.....tja, und weiter komme ich nicht. Lediglich ne olle switch case für die Menue-Gestaltung steht. mit der eigentlichen Progtammierung komme ich überhaupt nicht weiter....
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 20:47
Titel:
|
 |
Hallo,
hast du denn mal meinen Vorschlag versucht?
Inkl. der Option 's' bei input, damit die Eingabe als Zeichenkette interpretiert wird (siehe auch Dokumentation)?
Grüße,
Harald
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 21:05
Titel:
|
 |
ja, so funktionierts, allerdings str2func nicht. Handle ist mir unbekannt und die Erklärungen in der Literatur dazu helfen mir nicht...
Momentan siehts so aus:
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Zuletzt bearbeitet von willi_vintage am 01.11.2014, 21:17, insgesamt einmal bearbeitet
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 21:16
Titel:
|
 |
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 21:28
Titel:
|
 |
Fehler:
Error using ==> str2func
Too many input arguments.
hatte ich mir bereits durchgelesen. Die Frage ist, wie man sowas einsetzt?
Meine Version ist die 2011a.
Im oberen Post sind die aktuellen Eingaben drin.
Die gestellte Aufgabe umfasst die Nullstellenberechnung beliebiger Funktionen. Zudem soll die Genauigkeit, Schrittweite, Start- und Endwert vom User abgefragt werden. Als Ausgabe sollen ein Plott und die Nullstellen ausgegeben werden.
Vorwissen meinerseits kaum. Wir haben in der Vorlesung mehr mit Simulink und wie man Dateien speichert und aufruft rumgespielt, aber das relevante ausgelassen
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 22:02
Titel:
|
 |
Hallo,
bitte geb die Sachen doch so ein, wie ich sie vorschlage. Ich mache die eckigen Klammern ebensowenig zum Spaß hin wie das 's'.
Grüße,
Harald
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2014, 22:15
Titel:
|
 |
aaaah-Danke
war wohl einfach zu lange heute. So funktioniert auf jeden Fall!
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2014, 07:48
Titel:
|
 |
nur kann ich mit dem Vorschlag nichts anfangen. Die Syntax ist mir absolut nicht klar. Es muss doch irgendwie eine Möglichkeit geben, eine beliebige Funktion in Matlab eingeben zu können, also z.B. y=2*x
Daraus weiterführend Nullstellen berechnen (x- Wert und y-Abschnitt). Die Tutorials habe ich durch, wirkliche sinnvolle Erklärungen werden nirgends gegeben
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.11.2014, 11:33
Titel:
|
 |
Hallo,
der Vorschlag ist im Grunde äquivalent zu f(x) = ..., wenn du mit der Funktion dann numerisch arbeiten willst (Zahlen einsetzen, Nullstellen numerisch bestimmen etc.).
Eine Alternative ist das symbolische Arbeiten mit der Funktion. Die Ergebnisse sind exakt statt numerisch angenähert, manche Gleichungen können aber auch einfach nicht symbolisch gelöst werden.
Die Entscheidung liegt bei dir bzw. der Komplexität der Funktion.
Grüße,
Harald
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.11.2014, 14:00
Titel:
|
 |
|
 |
|
das hilft mir alles nicht weiter, da mir die Syntax nicht bekannt ist. Mein Wissensstand entspricht dem eines kurzes Einstiegstutorials. Die Aufgabenstellung verlangt aber Wissen, das mir unbekannt und unverständlich ist (brauche quasi ne Erklärung, was die Syntax macht).
Und zu machen ist (nein, ich erwate keine Lösung, aber es wäre nett wenn jemand mit mir die Vorgehensweise durchgehen könnte):
Es soll für belieige Funktionen die Nullstellen berechnet werden. Die Nullstellen sollen reell sein. Durch eine Benutzereingabe wird die x-Achse festgelegt (und somit auch nur die Nullstellen in diesem Bereich). Die Genauigkeit dieses Schnittpunktes soll ebenso festgelgt werden (Mittelwert zwischen zwei x-Werten - das sollte ich auch noch hinbekommen). Die zugehörigen y-Werte zu den Schnittpunkten sollen auch ausgegeben werden.
Das einzige was ich bislang selbst hinbekomme ist ne switch/case für das Menue und die input-Abfrage (mehr Wissensstand geht nicht aus den Vorlesungen hervor):
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.11.2014, 21:03
Titel:
|
 |
Hallo,
Zitat: |
das hilft mir alles nicht weiter, da mir die Syntax nicht bekannt ist. |
Pragmatisch gesagt: Dann wirst du dich entweder damit vertraut machen oder Code verwenden müssen, ohne ihn im Details zu verstehen. Helfen kann man dir beim Verständnis jedenfalls nur bei konkreten Fragen zum Code, und davon habe ich keine gesehen.
Sollen die Nullstellen numerisch oder analytisch bestimmt werden?
numerisch --> fsolve oder fzero
analytisch --> solve
Für letzteres habe ich sogar das fertige Beispiel hingeschrieben,
für das erstere ginge z.B.
Die Genauigkeit kann über das dritte Argument angegeben werden.
Grüße,
Harald
|
|
|
willi_vintage |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 28
|
 |
|
 |
Anmeldedatum: 01.11.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.11.2014, 22:10
Titel:
|
 |
die Nullstellen sollen mittels Bisektion ermittelt werden....aber egal...10 Tage und kein Stück weiter so sieht das heutige Studentleben aus.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.11.2014, 21:30
Titel:
|
 |
|
|
|
Gehe zu Seite 1, 2, 3, 4 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 - 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.
|
|