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

Nichlineares Gleichungssystem keine Komplexe Lösungen

 

miss R
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2013, 22:59     Titel: Nichlineares Gleichungssystem keine Komplexe Lösungen
  Antworten mit Zitat      
Halllo Leute,

ich hab da ein kleines Problem...
Die Lösungen meines nicht linearen Gleichungssystems haben auch
komplexe Lösungen,ich möchte aber nur mit der minimale reelle Lösung >0 weiter rechnen !!!
Kann mir einer sagen welchen Befehl ich dafür nehmen könnte?
Der real Befehl gibt mir den Realteil der komplexen Lösung raus, aber ich möchte generell gar keine komplexen Lösungen haben bzw. damit weiterrechnen.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.03.2013, 09:52     Titel:
  Antworten mit Zitat      
Hallo,

versuchs mal mit fsolve.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
miss R
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 02.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.03.2013, 12:41     Titel:
  Antworten mit Zitat      
Morgen,

hier nochmal mein Code:


Code:
 
b=4;
A=zeros(b+1,b+2);
  L=sym(zeros(b+1,1));
   
   
for i=1:b+1
   for j=1:b+2
 
     
 A(i,j)=2*((j-1))^(2*(i-1));
   if i==1 && j==1
           A(i,j)=1;
           
   end

   end  
end
   for i=1:b+1
       A(i,b+1)=0;
   end
for i=1:b+1
  syms l  
  L(i,1)=prod(1:2*(i-1))./(2^(i-1).*prod(1:i-1)) *l^(i-1);
end

p=A\L;




 A_stern=zeros(1,b+2); %additional moment um nach l aufzulösen
   for j=1:b+2
   A_stern(1,j)=2*((j-1))^(2*(b+1));
   end
     
   syms l real
   
L_stern=(prod(1:2*(b+1)))/(2^(b+1)*(prod(1:b+1)))*l^(b+1);
l_stern=double(FSOLVE((A_stern*p)-L_stern,'l'));

Ich bekomme diese Fehlermeldung wenn ich fsolve benutze ... ohjeee Rolling Eyes



Warning: System is rank deficient. Solution is not unique.
??? Error using ==> fsolve at 149
FSOLVE only accepts inputs of data type double.

Error in ==> Multnomialbaum_neu at 98
l_stern=double(FSOLVE((A_stern*p)-L_stern,'l'));

Liebe Grüße

Miss R
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.03.2013, 15:17     Titel:
  Antworten mit Zitat      
Hallo,

fsolve ist ein numerischer Löser, d.h. es kann nicht mit symbolischen Variablen umgehen. Siehe auch
Code:


Wenn du symbolisch arbeiten willst, kannst du solve einsetzen. Ich fürchte aber, dass die Gleichungen zu komplex sind, als dass du eine symbolische Lösung bekommen wirst.

Grüße,
Harald
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.