Verfasst am: 11.08.2016, 19:46
Titel: Probleme beim weiterarbeiten mit Funktionen
Hi ich bin noch ein Neuling was Matlab/Programmieren angeht.
Ich habe folgendes vor:
Gegeben ist eine (1 oder 2 Dimensionale)-Funktion die ich in das Programm eintippe
- es soll die erste Ableitung der Funktion berechnen (hab ich)
- diese Ableitung soll in eine weitere, schon definierte Funktion eingegeben werden (hab ich)
- mit dieser funktion soll das euler-verfahren angewendet werden (problem)
Gebe ich die funktion und die ableitung selber ein läuft das programm ohne probleme, jedoch wollte ich den letzten schritt jetzt auch noch zum laufen bringen.
syms a b integer
h_ab(a,b)= a^2+b^2 ; % Das ist die gegebene Funktion
deltahx=diff(h_ab,a) %Das soll die ableitung der funktion mit der Variable a sein
deltahy=diff(h_ab,b)% hier die erste ableitung auf die b variable
%-----PLOTTEN---------------------------------------------
%plot(t,v_x,'r'); hold on;
%plot(t,x,'b');
%figure;
%plot(t,v_y,'g'); hold on;
%plot(t,y,'k');
1) Der zweite Code-Teil funktioniert nur für funktionen mit 2 Variablen, wenn man im Eulerverfahren fx(x(i),1) anstatt fx(x(i)) schreibt, da die fester Funktion fx automatisch 2 Variablen zugewiesen werden (a und b) obwohl fx nur von a abhängen soll und b eine konstante ist. Dafür wird das Programm aber extrem schnell ausgeführt im vergleich zum ersten Code-Teil.
2) Beim ersten Code-Teil hab ich es also geschafft die feste Funktion fx in abhängigkeit von a auszudrücken (fx(a)) [analog mit fy(b)] .
Jedoch wird mir beim Eulerverfahren direkt ein Fehler angezeigt und bin grad am verzweifeln.
Code:
% The following error occurred converting from sym to double: DOUBLE cannot convert the input expression into a double array.
Error in golfball3 (line49)
v_x(i+1)=v_x(i)+fx(x(i))*tau;
Außerdem braucht das Programm mit dem ersten code-teil extrem lange für das compilieren.
Ich hoffe mir kann hier einer weiterhelfen
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
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.