MATLAB Answers


Apply equation to an array of values producing a new data set

Asked by Sophie Stringer on 11 Nov 2019 at 3:19
Latest activity Commented on by Erivelton Gualter on 11 Nov 2019 at 3:51
Hi there,
I have an equation:
e = 0.61121*exp((18.678-i/234.5).*(i./(257.14+i)))
where i are my values in my data set of temperature, ranging from 1 to 122736 values.
I want to apply this equation to all the values in my temperature data set, and produce a new data set of variables (e).
I'm thinking this would be best done in a loop, but I am just unsure of how to link my data set to the loop.
What I have so far is:
for i=1:122736
e = 0.61121*exp((18.678-i/234.5).*(i./(257.14+i)))
any help would be much appreciated.
Cheers :D

  1 Comment

e = 0.61121*exp((18.678-Temperature/234.5).*(Temperature./(257.14+Temperature)));
where Temperature is your 1 x 122736 vector of temperature values.

Sign in to comment.


1 Answer

Answer by Erivelton Gualter on 11 Nov 2019 at 3:37

You do not need a door loop. Matlab is built to handle this kind of operation. Check the following:
T = 1:1:122736;
FcnT = 0.61121*exp((18.678-T/234.5).*(T./(257.14+T)));


Hi Erivelton,
Does this still work if my T values are of the following (attached), with values ranging from 1-122736? Sorry if I was unclear.
It does.
You might check the follolowing page with a few examples of array multiplication:

Sign in to comment.