Saving variables in a function
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 15 Feb. 2021
https://www.mathworks.com/matlabcentral/answers/744477-how-to-treat-with-the-error-undefined-function-or-variable-m-where-m-is-mentioned-in-a-matlab-o#comment_1326442 and see especially my comment in that thread.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!