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

144 ビュー (過去 30 日間)
Sophie Stringer
Sophie Stringer 2019 年 11 月 11 日
コメント済み: Erivelton Gualter 2019 年 11 月 11 日
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 件のコメント
Walter Roberson
Walter Roberson 2019 年 11 月 11 日
e = 0.61121*exp((18.678-Temperature/234.5).*(Temperature./(257.14+Temperature)));
where Temperature is your 1 x 122736 vector of temperature values.

サインインしてコメントする。

回答 (1 件)

Erivelton Gualter
Erivelton Gualter 2019 年 11 月 11 日
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 件のコメント
Sophie Stringer
Sophie Stringer 2019 年 11 月 11 日
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.
Erivelton Gualter
Erivelton Gualter 2019 年 11 月 11 日
It does.
You might check the follolowing page with a few examples of array multiplication: https://www.mathworks.com/help/matlab/ref/times.html

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFunction Creation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by