Could anyone give an idea to write code to solve below problem

3 vues (au cours des 30 derniers jours)
Tc(1)=?
for i=1:N
Tc(i+1)=(mc*cpc*Tc(i)*1000-q(i))/(1000*mc*cpc);
end
%%%%mc, cpc are constant, q(i) is variable.
I need to find out the temperature of Tc(1) to get the temperature Tc(N)=15C.

Réponse acceptée

James Tursa
James Tursa le 11 Avr 2017
Modifié(e) : James Tursa le 11 Avr 2017
You could create a function file and put your loop code inside that file which takes a guess as an input (for Tc(1)) and returns the value Tc(N)-15 as an output, then use fzero on that function. Start it with a guess. E.g., the file myFunction.m would look something like
function result = myFunction(Tc1,mc,cpc,q,N)
Tc(1) = Tc1;
for i=1:N
Tc(i+1)=(mc*cpc*Tc(i)*1000-q(i))/(1000*mc*cpc);
end
result = Tc(N) - 15; % Did you really need N or N+1 here???
end
And the function you would pass to fzero could be
f = @(Tc1) myFunction(Tc1,mc,cpc,q,N)
  1 commentaire
Mohammad Sohel Rana
Mohammad Sohel Rana le 11 Avr 2017
I need at Tc(N+1)=15C. Thank you James Tursa. Should I need to define Tc1?

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 11 Avr 2017
The solution is
TC(1) = 15 + sum(q(2:N)) / (1000*mc*cpc)

Catégories

En savoir plus sur Mathematics 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