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 lösen

 

Calle
Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 07:38     Titel: funktion lösen
  Antworten mit Zitat      
Hey, ich habe eine Funktion, die ich nicht gelöst bekomme.
m=\alpha *A_{0}*\sqrt{2*rho*dP}
\alpha =f(m)
m=\frac{A_{0} }{A_{1} }

m, A1, rho und dP habe ich gegeben. ebenso die Funktion
\alpha =f(m)
diese verläuft exponential, habe ihc aber in einer Funktion abgespeichert.

Also habe ich eigentlich nur dieUnbekannte A_{0} . Diese möchte ich auch berechnen. Aber ich habe absolut keine Ahnung wie ich das machen soll.
da ich das A_{1} berechnen möchte, aber auch benötige um das m zu berechnen.
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.03.2012, 07:43     Titel:
  Antworten mit Zitat      
sry ich versteh das nicht ganz. wenn du A1 und m gegeben hast ist doch A0 nach deinen gleichungen nur m*A1. kannst du das vieleicht ein wenig genauer ausführen ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 08:30     Titel:
  Antworten mit Zitat      
AHHH!!!
entschuldigung,
es ist nciht a=f(m), sondern a=f(M).
also diese "m" sind nicht die Selben. und es ist M=\frac{A_{0} }{A_{1} }
also es wird zwischen kleinem und großem "M" unterschieden
also steht da im prinzip m=f(M)*A_{0}*\sqrt{2*rho*dP}  , wobei in f(M) nur A_{0} und A_{1} als variablen sin. als ergebnis a kommt eine exponetielle funktion.

Also mein Problem ist, dass ich mein Gesuchte Ergebnis A_{0
auch als Variable einsetzen muss.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.03.2012, 08:52     Titel:
  Antworten mit Zitat      
hmm ich hötte ja an sowas wie fsolve oder fzero gedacht.
Code:
A1=2;
rho=3;
dp=5;
m=10;
alpha=@(A0,A1) exp(A0/A1);
s=fzero(@(x) alpha(x,A1)*x*sqrt(2*rho*dp)-m,0);

mann muss allerdings darauf achten das nur eine nullstelle gefunen wird und nicht alle falls mehrere existeiren. außerdem finden fzero nur nullstelle bei denen ein forzeichenwechsel stattfindet. fzero findet die nullstelle bei x^2 zb nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 12:27     Titel:
  Antworten mit Zitat      
Es funktioniert tatsächlich, aber ein Problem besteht immer noch. Die Formel ist für eine Blende in einer Strömung.

Code:
clear all
b = 0.5346;
c = -0.1415;
d = 0.05917;
e = 2.398;

d1=0.01;
A1 = pi*d1^2/4;
rho=1149;
dP=13;
m=0.1;
alpha=@(A0,A1) b*exp(c*(A0/A1))+d*exp(e*(A0/A1));
s=fzero(@(x) alpha(x,A1)*x*sqrt(2*rho*dP)-m,0);
d2 = sqrt((4*s)/pi);




die Funktion
Code:
b*exp(c*(A0/A1))+d*exp(e*(A0/A1))

und die Parameter b,c,d,e habe ich mit der Curve-fitting Toolbox ermittelt.
aber ich bekomme als Fehler
Code:
Exiting fzero: aborting search for an interval containing a sign change
    because NaN or Inf function value encountered during search.
(Function value at 0.0282843 is Inf.)
Check function or try again with a different starting value.


und für d2 = NaN
erst wenn ich für d1>=0.015 einsetze, bekomme ich ein Ergebnis. Wie kann ich denn auch für kleinere (<0.01)durchmesser ein Ergebnis bekommen?
Aber ansonsten schon einmal vielen dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 28.03.2012, 13:02     Titel:
  Antworten mit Zitat      
deine funktion dievergiert sehr schnell. vieleicht hilft es wenn du deine parameter anders skalierst.zb von kg auf g umrechnene und so weiter.
Private Nachricht senden Benutzer-Profile anzeigen
 
Calle
Themenstarter

Forum-Century

Forum-Century


Beiträge: 145
Anmeldedatum: 08.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2012, 17:08     Titel:
  Antworten mit Zitat      
Das funktoiniert, jedoch bekomme ich leider ein völlig falsche Ergebnis heraus. Ich habe die einheitenumrechnung aber zig mal controlliert.
1 = Durchmesser/ Fläche vor der Blende
0 = Durchmesser/ Fläche Blende

Code:
clear all
b = 0.5346;
c = -0.1415;
d = 0.05917;
e = 2.398;


d1=10;              % [mm]
A1 = pi*d1^2/4;     % [mm²]
rho=1149;           % [kg/m³]
rho=rho*10^-9;      % [kg/mm³]
dP=13;              % [bar] [(kg*m)/(s²*m²)]
dP=dP*10^-3;        % [(kg*mm)/(s²*mm²)]
m=0.1;              % [kg/s]
alpha=@(A0,A1) b*exp(c*(A0/A1))+d*exp(e*(A0/A1));
A0=fzero(@(x) alpha(x,A1)*x*sqrt(2*rho*dP)-m,0); % [mm²]
d0 = sqrt((4*A0)/pi);% [mm]
disp(d0)


ich habe die gleichung mal nach meinem dP umgestellt und mit Hand getestet, wo mein Ergebnis ca. liegen soll. also der Durchmesser d0 muss so bei ca. 2.65mm liegen. aber als Ergebnis bekomme ich 13.18mm heraus, was absolut nicht sein kann, da dieser Durchmesser ja größer ist als der Rohrdurchmesser.
Eine Zweite Frage hätte ich noch und zwar, wäre das möglich von Hand auszurechnen? Also ich habe das nicht vor, es würde mich nur interessieren, ob dieses überhaupt möglich wäre.
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.