WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Funktion gleich Null setzen und auflösen lassen

 

EmmaMatlab
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 09.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2017, 14:53     Titel: Funktion gleich Null setzen und auflösen lassen
  Antworten mit Zitat      
Hallo,

ich habe eine Funktion erstellt und möchte sie gleich Null setzen und auflösen.
Es geht um die Gleichung \sum_{t=2}^n arctan((X_t-aX_{t-1}))\cdot X_{t-1})=0

Code:
% Mein Code:
T = 10;                          
X= ones(T,1);                  
rho  = 0.9;                        
sigma = 1;                            
mu_e  = 0;                            
eps   = normrnd(mu_e, sigma, T, 1);  

for t=2:T;                          
    X(t) = rho*X(t-1) + eps(t);      
end

b=solve(arctansumme(X, a, T)=0,a)

function [summe] = arctansumme( X,a ,T)
for t=2:T
    summe=0;
    summe=summe+((X(t)-a*X(t-1))*X(t-1))
    summe
end
end



leider bekomme ich als Fehlermeldung
"Error: File: ar1.m Line: 83 Column: 38
The expression to the left of the equals sign is not a valid target for an assignment."

wobei Line:83 column:38 vor dem zweiten Gleichheitszeichen von "b=solve(arctan(X, a, T)=0,a)" angezeigt wird.

Warum kann ich das so nicht lösen? Habe ich einen Fehler eingebaut oder ist es generell so nicht möglich

Gibt es einen anderen Befehl zum Lösen derartigeer Gleichungen?

LG Emma
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.02.2017, 13:26     Titel: Re: Funktion gleich Null setzen und auflösen lassen
  Antworten mit Zitat      
Hallo EmmaMatlab,

Es gibt mehrere Problem im Code:

eps ist eine wichtige Matlab Funktion und man sollte sie nicht verstecken, indem man eine Variable mit dem gleichen Namen erstellt.

solve funktioniert nur für symbolische Ausdrücke, siehe solve und sym .

Deine Funktion "arctansumme" gibt eine Zahl zurück. Dann ist "summe=0" eine Zuweisung einer Zahl an eine Zahl, was die Fehlermedlung erzeugt. Siehe oben bzgl. symbolischer Berechnungen.

Innerhalb der Schleife in arctansumme wird das Ergebnis "summe" immer wieder auf 0 gesetzt und zum Schluss dann nur der letzte Summand zurück gegeben. Das sieht nicht nach einer Summe aus. Ziehe das "summe = 0" vor die Schleife.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.