Saving variables in a function
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2021-2-15
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!