Function inside a for loop

4 views (last 30 days)
Süleyman Kagan AYAZ
Süleyman Kagan AYAZ on 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.

Answers (1)

Torsten
Torsten on 10 Jan 2022
Edited: Torsten on 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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!