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

Fehler bei Ausgabe von Simulationsdaten (Simulink)

 

Starter

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2021, 14:51     Titel: Fehler bei Ausgabe von Simulationsdaten (Simulink)
  Antworten mit Zitat      
Hallo ich bin zwar schon einige Male in Matlab am arbeiten gewesen aber an dem aktuellen Punkt komme ich aktuell einfach nicht mehr weiter und bitte um Unterstützung.
Ich soll das Volumen eines Zylinders während einer Isothermen Expansion als Funktion der Zeit darstellen. Die Differentilalgleichung dafür habe ich gegeben

eigentlich sollten nach der Simulation Graphen gezeichnet werden, stattdessen erhalte ich egal wie ich die Programmierung anpasse Fehlermeldungen von:

Aktueller Fehlercode wenn man das Programm wie hochgeladen verwendet:

Error using Thermo2 (line 29)
Error in 'isotherm_mod/Druck'. Evaluation of expression resulted in an invalid output. Only finite double vector or
matrix outputs are supported

oder ohne den Teil zur Druckberechnung in Simulink:

Unrecognized function or variable 't'.

Error in Thermo2 (line 37)
plot(t,V);

Ich verstehe nicht warum die Zeit als Variable t in diesem Programm nicht als Graph dargestellt werden kann.

figure 4 und die function "heizleistungzwei" sollen nicht Teil der aktuellen Frage sein.

Schon einmal vielen Dank für die Hilfe
Code:


%Simulation isotherme Zustandsänderung

%Aufgabe 1a
%dU=3/2*m*R*d*T=0
%dQ=dW=pdV=pVpunkt dt
%Qpunkt dt=pVpunkt dt->Vpunkt dt = (Qpunkt/m*R*T)*V dt
%V(t)-V(0)=(Qpunkt/m*R*T)*Integral(0 bis t) (V(t')dt')

%Aufgabe 1b

clear all;

global R cv m mapunkt cp T0 Heizleistung V0 P0
R=287.058;
cv=718.0;
V0=0.001;
Heizleistung=1; %QPunkt
T0=293.15;
P0=100000;
mapunkt=0.01;
cp=1005.2;



m=(P0*V0)/(R*T0);

Tsim=200;
simulation_opt=simset('solver','ode5','FixedStep',1e-3);
sim('isotherm_mod',Tsim,simulation_opt);


%Aufgabe 1c
%
%Die Funktion fällt exponentiell

figure(1);
plot(t,V);
hold on
grid on
xlabel 'Zeit / s';
ylabel 'Volumen / dm^3';
title Isotherme Zustandsänderung;
hold off

%Aufgabe 1d
figure(2);
plot(P);
hold on
grid on
xlabel 'Zeit / s';
ylabel 'Druck / Pa';
title Druckverlauf;
hold off

%Aufgabe 1e
figure(3);
plot(P,V);
hold on
grid on
xlabel 'Druck in Pa';
ylabel 'Volumen in dm^3';
title P-V-Diagramm;
hold off

%Aufgabe 1f
%dQ = dW = pdV = mRT*(dV/V)
%Q=m*R*T*ln*(V/V0)

%Aufgabe 1g

T2=293.15;
p02=100000;
R2=287.058;

Tsim=60;
simulation_opt=simset('solver','ode5','FixedStep',1e-3);
sim('isotherm2_mod',Tsim,simulation_opt);


figure(4);
plot(t,heizleistungzwei);
hold on
grid on
xlabel 'Zeit in s';
ylabel 'Heizleistung in W';
title Heizleistung;
hold off

function x=Volumen(h)
global m R T0 Heizleistung V0
x=(Heizleistung/(m*R*T0))*(h(1)+V0);
end

function y=Druck(u)
global m R T
y=((m*R*T)/u(1))/100;
end

function z=Heizleistungzwei(k)
global m R T
heizleistungzwei=(m*R*T*(log((k(1)/V0))));
end
 


isotherm_mod.slx
 Beschreibung:
Simulink-Datei

Download
 Dateiname:  isotherm_mod.slx
 Dateigröße:  23.44 KB
 Heruntergeladen:  487 mal
Thermo2.m
 Beschreibung:
Matlab-Programm

Download
 Dateiname:  Thermo2.m
 Dateigröße:  1.59 KB
 Heruntergeladen:  398 mal


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 03.03.2021, 09:07     Titel:
  Antworten mit Zitat      
Woher soll MAtlab denn deiner Meinung nach die Zeit t bekommen?
Wo wird sie definiert?

Und nächste Frage: wo wird V definiert? Ist damit die interne Funktion Volumen gemeint?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Starter
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 03.03.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.03.2021, 09:55     Titel:
  Antworten mit Zitat      
@Mmmartina, vielen Dank. Du hast den richtigen Hinweis gegeben. Ich habe die Variablen deklariert und schon läuft alles wie es soll.
Private Nachricht senden Benutzer-Profile anzeigen
 
Simon_M
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 05.01.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2022, 12:38     Titel:
  Antworten mit Zitat      
Ich bearbeite gerade die gleiche Aufgabe und habe so meine Probleme damit. Kannst du mir bitte sagen, wie du das mit den Variablen gemacht hast? Ich habe versucht sie als global zu deklarieren. Das hat bei mir aber nicht funktioniert.
Private Nachricht senden Benutzer-Profile anzeigen
 
B.sahin
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 21.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2023, 21:33     Titel:
  Antworten mit Zitat      
Können Sie uns mitteilen, wie das Ergebnis erzielt wird? 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 - 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.