Function inside a for loop

2 vues (au cours des 30 derniers jours)
Süleyman Kagan AYAZ
Süleyman Kagan AYAZ le 10 Jan 2022
Hello everyone,
As a beginner I have the following code:
% a1_CO2 to b2_CO2 are scalar values.
s_CO2= @(T) (R_u)*(-a1_CO2*T^(-2)/2-a2_CO2/T+a3_CO2*log(T)+a4_CO2*T+a5_CO2*(T^2)/2+a6_CO2*(T^3)/3+a7_CO2*(T^4)/4+b2_CO2)
y41_CO2 = [0.0449 0.06 0.0665 0.0687 0.071....] %This is 1x21 array
for i=1:21
s41_0(i) = @(T) (y41_CO2(i)*s_CO2(T)
end
I want to define s41_0 as a (T) dependent function and recall it as recalling s_CO2(T) but don't know the syntax.
For example how can i obtain s41_0(5) for T dependent function and define T later for a scalar value.
Thanks in advance.

Réponses (1)

Torsten
Torsten le 10 Jan 2022
Modifié(e) : Torsten le 10 Jan 2022
An array of function handles is not possible.
Instead, you should define
s41_0 = @(a,T) a.*s_CO2(T)
and evaluate it as
val41_0i = s41_0(y41_CO2(i),T)
or
val41_0 = s41_0(y41_CO2,T)
for a numerical value for T.
  1 commentaire
Süleyman Kagan AYAZ
Süleyman Kagan AYAZ le 22 Jan 2022
Thx for the answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by