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

werte abfragen, die berechnet werden sollen...

 

Sonny
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 18.10.11
Wohnort: Wolfsburg
Version: ---
     Beitrag Verfasst am: 24.10.2011, 08:01     Titel: werte abfragen, die berechnet werden sollen...
  Antworten mit Zitat      
Hallo zusammen, ich würde gerne wissen, wie ich in Matlab eine Berechnung programmiere, bei der ich am Anfang eine Abfrage starte, wo für eine Konstante verschiedene Werte abgefragt werden. Danach soll Matlab die rechnung mit dem Ersten wert, dann mit dem 2. wert usw. die Rechnung durchgehen und das ergebnis am ende plotten.

Wie gehe ich da am besten vor. Sorry, bin noch neu auf dem Matlab-Gebiet!
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 24.10.2011, 08:03     Titel:
  Antworten mit Zitat      
Hierzu eignet es sich am besten, Einsteigertutorials durchzuarbeiten. Dort findest du auch Antworten zu deinen Fragen kompakt zusammengefasst.

http://www.gomatlab.de/viewtopic.ph.....a5bffd7f44816d5cf8197b495
Private Nachricht senden Benutzer-Profile anzeigen
 
Sonny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 18.10.11
Wohnort: Wolfsburg
Version: ---
     Beitrag Verfasst am: 24.10.2011, 08:45     Titel:
  Antworten mit Zitat      
eupho hat Folgendes geschrieben:
Hierzu eignet es sich am besten, Einsteigertutorials durchzuarbeiten. Dort findest du auch Antworten zu deinen Fragen kompakt zusammengefasst.

http://www.gomatlab.de/viewtopic.ph.....a5bffd7f44816d5cf8197b495


Kannst du mir einen Denkanstoß geben? Weiß nämlich nicht, wonach ich da am bestn gucke.
Ich habe mir das so vorgestellt, dass ich zuerst eine inputdlg starte. Dann weiß ich aber nicht, wie Matlab die angegebenen Werte in einer Schleife nacheinander rechnet. Anschließend will ich das dann plotten, allerdings so, dass die Werte mit ihren jeweiligen Ergebnissen alle zusammen geplottet werden. Kannst du mir da nicht ein bisschen unter die Arme greifen?
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 24.10.2011, 08:53     Titel:
  Antworten mit Zitat      
Ich kann dir nicht mehr beibringen, als in den Einsteigertutorials schön zusammengefasst ist. Konkrete Fragen kann man hier sicherlich gut beantworten.
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: 24.10.2011, 09:14     Titel:
  Antworten mit Zitat      
Hallo Sonny,

Es ist immer schwierig, zeitaufwändig und meistens doch ineffizient, jemandem bei der Programmierung "unter die Arme zu greifen", der noch gar nicht genau weiß, was er eigentlich programmieren möchte. Denn dann müsste der Helfer ein Programm-Konzept entwickeln, und das passt praktisch nie genau zu dem, was der Programmierer eigentlich vorhat.

Für konkrete Fragen ist dieses Forum dagegen sehr gut geeignet. Es werden zwar eigentlich 99% der gestellten Fragen irgendwo in der Dokumentation erklärt. Aber ein Profi weiß manchmal schneller, wo und wonach man suchen muss. Z.B. verrät "help eval", wie man "eval" benutzt, aber nicht, weshalb man es vermeiden sollte.

Ich würde Dir also raten, einfach mal anzufangen und ein grobes Gerüst des programms aufzustellen. Wenn Du zu einem Befehl Fragen hast, versuche "help Befehl", "doc Befehl" und frage Google nach "Matlab Befehl". Wenn Du den Namen des Befehls nicht kennst, hilft "lookfor" und "docsearch" weiter. Wenn Du Dich wunderst, dass eine bestimmte Funktion noch gar nicht in den Toolboxen vorhanden ist, obwohl es sich um eine häufig vorkommende Standard-Aufgabe handelt, such in der FEX (http://www.mathworks.com/matlabcentral/fileexchange/), denn dann hat sich das wahrscheinlich auch jemand anderes damit herum geschlagen. Und wenn das immer noch nicht hilft, ist eine Frage auf goMatlab sinnvoll und Fragen, die man sinnvoll beantworten kann, werden hier sehr gerne beantwortet.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Sonny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 18.10.11
Wohnort: Wolfsburg
Version: ---
     Beitrag Verfasst am: 24.10.2011, 13:48     Titel:
  Antworten mit Zitat      
Hallo Jan, erstmal danke für die Antwort. Dann mache ich es jetzt mal konkreter:
Das ist die Berechnung:
Der Eingabewert soll tq sein. tq soll von 30 bis 60 in 5er Schrittweite geändert werden.


Man erhält also für jeden tq Wert ein anderes "alphaB".
Wie ich das machen will weiß ich, aber die umsetzung kriege ich nicht hin. Ich habe mir jetzt schon einiges zu for-Schelifen angeguckt und ausprobiert, aber das Ergebnis ist ernüchternd, ich bekomme immer nur einen alphaB-Wert.

Ich fange so an:
for tq=30:5:60 (Startwert 30 Schrittweite 5 Endwert 60, danch soll die rechnung jeweils für den einzelnen tq wert erfolgen, also der Rechenweg)
Code:
tl=tq;
eq=tq/d;
me=m0*(eq/(eq-c));
L=((pi/2)*sqrt(d^2+h^2))*(10^-3);
Re=(me*L/eta);
k=1-0.15*exp((-10*(h/d)));
Nuc=0.664*(Pr^(1/3))*sqrt(Re);
Nut=(0.037*(Re^0.8)*Pr)/(1+2.443*(Re^-0.1)*(Pr^(2/3)-1));
Nu0=0.3+sqrt(Nuc^2+((k*Nut)^2));
alpha0=Nu0*lamda/L;
m=(10^-3)*(sqrt((2*alpha0)/(lamdaw*(s*(10^-3)))));
h1=(h+(s/2));
mr1=m*(d/2);
mh=m*h;
mh1=m*h1;
T=(tanh(mh1))*(1+((tanh(mh1))/(2*mr1))-(c*(((tanh(mh))^p)/(mr1^n))));
nL=(a+(2/m)*T)/(a+s+(d+h+s)*2*(h/d)+((s^2)/(2*d)));
z=(4/pi)*eq-(1/5.88);
nA=1.183;
x=((a/(d+h))^w)*((h/tq)^u)*((s/(a+s))^v);
nab=1-exp(-z1*x)+nA*exp(E*x);
Nub=Nu0*nL*nab;
alphaB=Nub*lamda/L;

% ab hier dann der Plot:
plot(tq,alphaB);
xlabel('tq und tl: Abstand der Rohre')
ylabel('Wärmeübergangskoeffizient')
end
 


Er rechnet aber nur mit dem Wert 60, heißt also das die Schleife nicht funktioniert. Wie kann ich das verbessern? Bzw. was mache ich falsch?
Beim Plot wird auch nichts angezeigt!

_Peter_: Bitte Codeumgebung nutzen. Danke.
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 - 2025 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.