Apply equation to an array of values producing a new data set
113 views (last 30 days)
Show older comments
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)))
end
any help would be much appreciated.
Cheers :D
1 Comment
Walter Roberson
on 11 Nov 2019
e = 0.61121*exp((18.678-Temperature/234.5).*(Temperature./(257.14+Temperature)));
where Temperature is your 1 x 122736 vector of temperature values.
Answers (1)
Erivelton Gualter
on 11 Nov 2019
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)));
2 Comments
Erivelton Gualter
on 11 Nov 2019
It does.
You might check the follolowing page with a few examples of array multiplication: https://www.mathworks.com/help/matlab/ref/times.html
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!