|
|
Optimierung einer Gleichung mit 2 Variablen |
|
slinshady |
Themenstarter

Forum-Century
|
 |
Beiträge: 115
|
 |
|
 |
Anmeldedatum: 12.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b+
|
 |
|
|
 |
|
Verfasst am: 08.02.2016, 20:42
Titel:
|
 |
ahh ja, dein Link hat mir geholfen. Danke, diese Möglichkeit habe ich gesucht.
|
|
|
|
|
slinshady |
Themenstarter

Forum-Century
|
 |
Beiträge: 115
|
 |
|
 |
Anmeldedatum: 12.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b+
|
 |
|
|
 |
|
Verfasst am: 09.02.2016, 12:25
Titel:
|
 |
|
 |
|
function F = root2d( s0, xpoly, ypoly, xy_m, normalv )
% UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
ax=xpoly(4);
bx=xpoly(3);
cx=xpoly(2);
dx=xpoly(1);
ay=ypoly(4);
by=ypoly(3);
cy=ypoly(2);
dy=ypoly(1);
F(1)=ax-xy_m(1)-x(1)*normalv(1)+bx*(x(2)-s0)+cx*(x(2)-s0)^2+dx*(x(2)-s0)^3;
F(2)=ay-xy_m(2)-x(1)*normalv(2)+by*(x(2)-s0)+cy*(x(2)-s0)^2+dy*(x(2)-s0)^3;
end
ich habe mir jetzt folgende Funktion geschrieben, die ich folgendermaßen aufrufe:
führt zu folgendem Fehler:
Undefined function 'x' for input arguments of type 'double'.
Error in root2d (line 13)
F(1)=ax-xy_m(1)-x(1)*normalv(1)+bx*(x(2)-s0)+cx*(x(2)-s0)^2+dx*(x(2)-s0)^3;
Error in @(x)root2d(s0i,Pix,Piy,pxy_m(i,: ),n(i,: ))
Error in fminunc (line 251)
f = feval(funfcn{3},x,varargin{:});
Error in test1 (line 174)
f=fminunc(fun,x0);
Caused by:
Failure in initial user-supplied objective function evaluation. FMINUNC cannot continue.
Wenn ich das richtig verstehe liegt der Fehler aktuell darin, dass x bei mir ein Vektor ist oder?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 09.02.2016, 12:31
Titel:
|
 |
x gibt es in der funktion root2d nicht und du versuchst trotzdem auf ein element davon zuzugreifen.
_________________
richtig Fragen
|
|
|
slinshady |
Themenstarter

Forum-Century
|
 |
Beiträge: 115
|
 |
|
 |
Anmeldedatum: 12.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b+
|
 |
|
|
 |
|
Verfasst am: 09.02.2016, 12:37
Titel:
|
 |
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.02.2016, 12:39
Titel:
|
 |
Hallo,
was soll denn mit root2d gemacht werden?
Wenn das als zu lösende Gleichungen aufgefasst werden soll, warum verwendest du dann nicht
fsolve
?
Grüße,
Harald
|
|
|
slinshady |
Themenstarter

Forum-Century
|
 |
Beiträge: 115
|
 |
|
 |
Anmeldedatum: 12.01.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2012b+
|
 |
|
|
 |
|
Verfasst am: 09.02.2016, 12:50
Titel:
|
 |
ja stimmt. Das sollte die richtige sein.
Habe mir mit den Lamdas jetzt die Kurve plotten lassen.
die schwarzen Punkte sind die berechneten Schnittpunkte:
http://www.bilder-upload.eu/show.php?file=9cf1e2-1455016230.jpg
habe hier mal mein lamda plotten lassen. es gibt 117 werte, die normalerweise zwische 2 und 12 liegen sollten.
http://www.bilder-upload.eu/show.php?file=cdfd3b-1455016449.jpg
außerdem sollten sie alle positiv sein. Ich fange an zu glauben, dass die Funktion nicht funktioniert, obwohl sie das von der Überlegung her müsste!
ich habe mir dazu auch mal die Wurzeln angeschaut, die mir fsolve liefert. diese sind weitestgehen ok, allerdings leider nicht immer. Sie sollten idealerweise im Bereich zwischen dem aktuellen break des Polynoms und dem nächsten liegen.
Wie kann ich so etwas als Einschränkung geben?
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
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.
|
|