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

Fsolve komplexes Problem

 

sawyer_ma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 13.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.07.2016, 18:22     Titel: Fsolve komplexes Problem
  Antworten mit Zitat      
Hallo alle zusammen,


ich versuche gerade drei Gleichung mit Matlab zu solven. Jedoch bin ich mir nicht sicher ob das Matlab in diesem Falle kann und bin auch schon daran gescheitert.

Gesucht ist in allen 3 Fällen Wpf. Also, bei G1 ist WpF gesucht, bei G12 ist WpF gesucht und bei B1 ist WpF gesucht.

Die Lösungen zu den Werten sind: (macht es einfach den Code zu Überprüfen)

Code:

G   =  1.7511e-3
G1  =  1.0857e-3
G12 =  0.66539e-3
B   =  3.6631e-05
WpF =  39.542e-3
 



Jedoch ist das Problem das ich im Falle der G-Werte, nur den Wert G geliefert bekomme. G setzt sich zusammen aus G = G1 + G12.
Somit müsste ich ja die Formeln in einander setzten. Ich dachte mal so:

Code:

clc;
clear all;

%% Variabeln

f         =     2.45e9;                                                          
Er0     =     8.854187e-10;                                                  
Er1     =     1.00059;                                                          
Er2     =     4.6;                                                      
Er3     =     4.6;                                                          
mu0   =    12.56637e-7;                                            
hp       =     0.0005;                                                        
hf       =      0.000234;
c0      =     physconst('lightspeed');                                      
t         =      35e-6;                                                    
Z0          =   119.9169832*pi;                                              
lambda0 =   c0/f;                                                        
lambda  =   lambda0/sqrt(Er1);                                        
alpha   =   1.64;                                                          
k0      =   (2*pi*sqrt(Er1)*f)/(c0);                                                                                
k1      =   (2*pi/lambda0);                                                
x0      =   (k0/k1) ;

% Berechnung von WpF  aus G = G1 + G12

fun1 = @(x) ((sin((k0*WpF.*cos(x))/2))./cos(x)).^2.*(sin(x)).^3;
fun2 = @(x) ((sin(((k0*WpF.*cos(x))/2)))./(cos(x))).^2.*sin(x).^3.*besselj(0,k0*Lp.*sin(x));

fsolve( integral(fun1,a,b)/(120*pi^2) + (1/(120*pi^2) * integral(fun2,a,b)) == 1.7511 mS, WpF )

% Berechnung von WpF aus der Formel B1

fsolve( ((WpF)/(120*lambda0))*(1 -0.636*log(k0*hp))*((hp)/(lambda0)), WpF )

 


Jedoch bekomme ich für B1 sowie für G keine Werte für WpF. Ich denke für den Fall von B1 sollte das Matlab hin bekommen auch wenn mein Code nicht funktioniert. Kann das Matlab auch für G??






Zur Vollständigkeit:

Das sind die drei Gleichungen mit denen Die Ergebnisse (Lösungen) Berechnet wurden.


[code]

a = 0;
b = pi;

fun1 = @(x) ((sin((k0*WpF.*cos(x))/2))./cos(x)).^2.*(sin(x)).^3;
G1 = integral(fun1,a,b)/(120*pi^2);

a = 0;
b = pi;

fun2 = @(x) ((sin(((k0*WpF.*cos(x))/2)))./(cos(x))).^2.*sin(x).^3.*besselj(0,k0*Lp.*sin(x));
G12 = (1/(120*pi^2) * integral(fun2,a,b));

B1 = ((WpF)/(120*lambda0))*(1 -0.636*log(k0*hp))*((hp)/(lambda0));
Private Nachricht senden Benutzer-Profile anzeigen


sawyer_ma
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 13.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2016, 07:41     Titel:
  Antworten mit Zitat      
Ah blöder Fehler, ich habe ganz vergessen die Ergebnisse bei B1 einzufügen. Jedoch will es trotzdem nicht. Ist fsolve überhaupt der richtige ansatz?

Code:

clc;
clear all;

%% Variabeln

f         =     2.45e9;                                                          
Er0     =     8.854187e-10;                                                  
Er1     =     1.00059;                                                          
Er2     =     4.6;                                                      
Er3     =     4.6;                                                          
mu0   =    12.56637e-7;                                            
hp       =     0.0005;                                                        
hf       =      0.000234;
c0      =     physconst('lightspeed');                                      
t         =      35e-6;                                                    
Z0          =   119.9169832*pi;                                              
lambda0 =   c0/f;                                                        
lambda  =   lambda0/sqrt(Er1);                                        
alpha   =   1.64;                                                          
k0      =   (2*pi*sqrt(Er1)*f)/(c0);                                                                                
k1      =   (2*pi/lambda0);                                                
x0      =   (k0/k1) ;

% Berechnung von WpF  aus G = G1 + G12

syms x;
a = 0;
b = pi;

fun1 = @(x) ((sin((k0*WpF.*cos(x))/2))./cos(x)).^2.*(sin(x)).^3;
fun2 = @(x) ((sin(((k0*WpF.*cos(x))/2)))./(cos(x))).^2.*sin(x).^3.*besselj(0,k0*Lp.*sin(x));

x =fsolve( integral(fun1,a,b)/(120*pi^2) + (1/(120*pi^2) * integral(fun2,a,b)) == 1.7511*1e-3, WpF )

% Berechnung von WpF aus der Formel B1

y = fsolve( ((WpF)/(120*lambda0))*(1 -0.636*log(k0*hp))*((hp)/(lambda0)) == 3.6631e-05 , WpF )


Im Bild sind die Fehlermeldungen: Er will das ich WpF definiere aber das suche ich ja!?

Bildschirmfoto 2016-07-06 um 09.29.14.png
 Beschreibung:

Download
 Dateiname:  Bildschirmfoto 2016-07-06 um 09.29.14.png
 Dateigröße:  116.26 KB
 Heruntergeladen:  463 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
sawyer_ma
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 13.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2016, 15:34     Titel:
  Antworten mit Zitat      
Hat mir irgendwer einen Tipp wie man das Problem lösen könnte. Ich glaube ich verzweifle noch dran Sad egal welchen solver ich benutze, irgendwas passt Matlab nicht. Ich denke aber am meisten das es an meinen Matlab Anfängerproblemen liegt.

Bin für jeden Tipp dankbar Confused
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: 06.07.2016, 21:07     Titel:
  Antworten mit Zitat      
Hallo,

du mischt bunt symbolisch ( solve ) und numerisch ( fsolve ).

Wenn du numerisch integrierst, ist fsolve sicher sinnvoller. Schau dir doch mal die Beispiele in der Doku zu fsolve an.

Grüße,
Harald

P.S.: Bitte min. 24 Stunden warten, bevor du dein Thema pusht.
Manche Leute hier schauen auch bewusst mal nach "unbeantworteten" Beiträgen. Wenn du auf deinen eigenen Beitrag antwortest, fällt er da raus.
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.