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

80 ビュー (過去 30 日間)
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 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 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 件のコメント表示非表示 1 件の古いコメント
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

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

### Community Treasure Hunt

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

Start Hunting!

Translated by