Verfasst am: 27.10.2014, 19:45
Titel: Bitte Hilfe bei der Programmierung
Hallo,
da meine Matlab Kenntnisse sehr beschränkt sind hoffe ich ihr könnt mir weiterhelfen.
Ich habe eine Gleichung die gelöst werden müsste und zwar sieht die ca. so aus
P= A(x) + B(x)/T
P, T sowie die koeffizient in A(x) und B(x) sind gegeben die einzige variable ist x und natürlich auch der gesuchte Wert.
wenn ich es richtig verstehe, sind A(x) und B(x) Funktionen von x? Je nach dem, wie diese Funktionen so aussehen, lässt sich das analytisch lösen bzw. nur numerisch mit dem jeweils passensten Ansatz. Numerisch die Gleichung so umstellen, dass etwas minimiert wird. Hier P-A(x)-B(x)/T = 0. In Matlab-Code so:
Code:
% P= A(x) + B(x)/T
% irgendwas für P, T und A(x), sowie B(x) vorgeben...
P = 17;
T = 9;
A = @(x)sin(x);
B = @(x)exp(x);
% funktion umstellen zu P-A(x)-B(x)/T = 0, davon den Absolutwert des Minimums % finden
f = @(x)abs(P - A(x) - B(x)/T);
x0 = 1; % Startwert raten
xmin = fminsearch(f, x0); % liefert 5.0838...
% Plot
x = linspace(-6,6, 500);
plot(x, f(x)) ylim([-5, 35]) hold on
plot(xmin, f(xmin), 'ro', 'markerfacecolor', 'red')
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
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.