Saving variables in a function

1 Ansicht (letzte 30 Tage)
Paul Rogers
Paul Rogers am 15 Feb. 2021
Kommentiert: Walter Roberson am 15 Feb. 2021
Hi everyone,
I am calling this function where I get in output the time t and the matrix y:
function [ dy ] = greitzer( t,y,P)
%% Energy Losses
deltahfi = P.kf.*(y(1).^2); %Impeller Friction losses
deltahfd = P.kfd.*(y(1).^2); %Diffuser Friction losses
%% Throttle valve's parameters
%% con lo stesso Delta da una parte e dall'altra
deltaideal = P.sigma*(P.U2^2); %Deltah0c,ideal
%% Lossees
deltahii = 0.5.*((P.U1-...
((cot(P.beta1b).*y(1))/(P.ro1*P.Ai))).^2); %Impeller Incidence Loss
deltahid = 0.5.*(((P.sigma*P.D2*P.U1)/P.D1)-...
((y(1).*cot(P.alfa2b))/(P.ro1*P.Ad))).^2; %Diffuser Incidence Loss
deltaloss = deltahii+...
deltahid+deltahfi+deltahfd;
% deltah0c = deltaideal-...
% deltaloss-deltan; %deltah0c
%% Efficiency
eta = deltaideal./(deltaideal+deltaloss)-P.deltan;
%% Pressure Rise in the Compressor
psi_c =((1+((eta.*deltaideal)/(P.T01*P.cp))).^(P.k/(P.k-1)));
%% Greitzer's System
gamma_T = @(t) P.Amplitude*sin(P.w*t)+P.b; % valve's function
dy = [ P.B*(psi_c-y(2));
(1/P.B.*(y(1)-gamma_T(t).*(y(2).^0.5))) ];
end
what I need now it that it also saves psi_c and gamma_T(t).*(y(2).^0.5)
I put the files in attached so you don't have to copy and paste

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 15 Feb. 2021
  2 Kommentare
Paul Rogers
Paul Rogers am 15 Feb. 2021
then basically once I get "t" and "y" I can evaluete them post-function after the call?
Walter Roberson
Walter Roberson am 15 Feb. 2021
Yes.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2014b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by