How to put numbers into a new array?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
>>I have created a script that I can get lots of different values of G(i) and drawn a plot of G(i) and t. Then, I want to create an array that assembles all the G(i) in it. Could anyone can please help me how to do this?
My script is as below:
t=0:0.02:5;
for i=1:numel(t);
T(i)=170-22*t(i);
if T(i)>=120;
G(i)=((3.98*10^7)*exp(-1500/(1.987*(T(i)-30)))*exp((-2.55*10^5)*(T(i)+273.15+212+273.15)/(2*(T(i)+273.15)*(T(i)+273.15)*(212-T(i)))))/60;
else
G(i)=((4.81*10^11)*exp(-1500/(1.987*(T(i)-30)))*exp((-5.51*10^5)*(T(i)++273.15+212+273.15)/(2*(T(i)+273.15)*(T(i)+273.15)*(212-T(i)))))/60;
end
end
plot(t,G);
Thanks a lot in advance
0 commentaires
Réponses (1)
Guillaume
le 9 Mar 2018
I'm not clear on your question. the array that assembles all the G(i) is G.
Note that 3.98*10^7 is better written as 3.98e7. It faster for matlab to compute and in my opinion easier to read
Also, note that the loop is completely unnecessary:
t = 0:0.02:5;
T = 170 - 22*t;
Gbelow = 4.81e11*exp(-1500/(1.987*(T-30).*exp(-5.51e5*(T+273.15+212.273.15)./(2*(T+273.15).*(T+273.15).*(212-T)))/60;
Gabove = 3.98e7*exp(-1500/(1.987*(T-30).*exp(-2.55e5*(T+273.15+212.273.15)./(2*(T+273.15).*(T+273.15).*(212-T)))/60;
G = Gbelow;
G(T>=120) = Gabove(T>=120);
plot(t, G);
0 commentaires
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!