|
|
Function-handle mit Vektorinput statt einzelner Variablen |
|
FloJoe |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 19.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.11.2020, 15:00
Titel: Function-handle mit Vektorinput statt einzelner Variablen
|
|
Hi Leute,
folgendes Problem. Ich lese Messwerte variabler Anzahl ein. Auf Basis der Messwerte will ich numerisch über ein größeres Gleichungssystem bestimmte Parameter der Messkurve berechnen. Dafür verwende ich die implementierte function fsolve.
Ich berechne zunächst das Gleichungssystem symbolisch, das ganze automatisch, da die Anzahl der Messwerte variiert. Daraufhin möchte ich den entstanden symbolischen Ausdruck in eine Funktion der Form @(x) x(1)^2 + x(1)*x(2) + ... und so weiter transformieren. Ich bekomme jedoch über den Befehl matlabFunction nur eine Funktion der Form @(x1,x2,x3,....) x1^2 + x1*x2 + ... . fsolve verlangt jedoch eine Funktion obiger Formulierung. Wie krieg ich das gebacken? Hier ein beispielhafter Code.
Vielen Dank schon mal!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 19.11.2020, 15:58
Titel:
|
|
Hallo,
es lässt sich wohl über Tricksereien schon hinbekommen. Eine separate Funktion, in der der Input mit num2cell in ein Cell c umgewandelt und die ursprüngliche Funktion mit Fun(c{:}) aufgerufen wird.
Meine Frage wäre aber, ob es wirklich notwendig ist, das Gleichungssystem symbolisch aufzustellen. In den allermeisten Fällen würde ich sagen: nein.
Für die Bestimmung von Parametern kann auch
lsqcurvefit
helfen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FloJoe |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 19.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.11.2020, 16:13
Titel:
|
|
Harald, bist ein geiler Typ, danke.
Ich brauchte gar keine symbolische Rechnung.
|
|
|
|
|
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.
|
|