Effacer les filtres
Effacer les filtres

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

62 vues (au cours des 30 derniers jours)
Sophie Stringer
Sophie Stringer le 11 Nov 2019
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 commentaire
Walter Roberson
Walter Roberson le 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.

Connectez-vous pour commenter.

Réponses (1)

Erivelton Gualter
Erivelton Gualter le 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 commentaires
Sophie Stringer
Sophie Stringer le 11 Nov 2019
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 le 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by