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

Genauigkeit Berechnung

 

Fred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.04.2008, 06:43     Titel: Genauigkeit Berechnung
  Antworten mit Zitat      
Hallo Zusammen, ich habe ein kleines Berechnungsprogramm für Stoffwerte. Für einen z.B. 10spaltigen Vektor kommen 100% richtige Werte heraus. Verwende ich dagegen einen Vektor mit z.B. 20 Spalten weichen die Ergebnisse ab. Hat jemand eine Idee woran das liegen könnte ?

Gruß Fred


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.04.2008, 07:39     Titel:
  Antworten mit Zitat      
ja! Ich weiss woran es liegt! Und zwar an dem 20 spaltigen Vektor...
Benutze stattdessen einen 10 spaltigen - dann bekommst Du 100% Werte raus!


Gruß Alfred
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 22.04.2008, 07:43     Titel:
  Antworten mit Zitat      
Hallo,

Spaß beiseite... Du solltest schon mal die entscheidenden Codezeilen zur Verfügung stellen, sonst können wir da halt nix dazu sagen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Fred

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.04.2008, 08:19     Titel:
  Antworten mit Zitat      
hier der Code:

Code:
function T = dampftemp3(p)
% T = DAMPFTEMP(P) berechnet die Dampftemperatur von R134a in Abhängigkeit
% vom Druck. Der Druck wird in [bar] eingegeben. Es wird die Gleichung
% nach Wagner verwendet. Rückgabewert ist die Temperatur in [°C]


for indexZ=1:1:size(p)
   p1=(p(indexZ,1));
T = 0;

    A1 =  -7.70694816;
    A2 =  2.493168344;
    A3 =  -2.92118222;
    A4 =  -3.86835428;
    A5 =  0.468984936;
    A6 =  -0.00008336;
    B1 =  1.515833249;
    B2 =  1.990732507;
    B3 =   4.379771875;
    B4 =   1.746063057;
 

Tc = 374.21; %[K]
pc = 40.59; %[bar]



Tr = T./Tc;
pr_ln = (A1*(1-Tr)+A2*(1-Tr).^B1 + A3*(1-Tr).^B2 + A4*(1-Tr).^B3 + A5*(1-Tr).^B4 + A6)./Tr;
pr = exp(pr_ln);
p_approx = pr.*pc;  %[bar]
delta_p = abs(p1 - p_approx);

delta = 10e-10;
zz = delta_p- delta;

w = 0;

while zz > w
    T = T + (p - p_approx).*(0.8);
    Tr = T./Tc;
    pr_ln = (A1*(1-Tr)+A2*(1-Tr).^B1 + A3*(1-Tr).^B2 + A4*(1-Tr).^B3 + A5*(1-Tr).^B4 + A6)./Tr;
    pr = exp(pr_ln);
    p_approx = pr.*pc;  %[bar]
    delta_p = abs(p1 - p_approx);
    zz = delta_p - delta;
   
end


if abs(T) > 10e3
  end

end  



 
 
tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 22.04.2008, 17:04     Titel:
  Antworten mit Zitat      
Hallo,

Dein Programmierstil spottet zwar jeder Beschreibung, soll aber nicht Gegenstand meiner Antwort sein.

Soll es nicht so sein, daß Deine Funktion einen Vektor T(1:N) zurückliefert, wenn Du sie mit p(1:N) fütterst? Falls ja: Dann kann es so nicht funktionieren, da Du T als Skalar behandelst.

Gruß tompie
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.