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

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.

 採用された回答

James Tursa
James Tursa 2017 年 4 月 11 日
編集済み: James Tursa 2017 年 4 月 11 日

0 投票

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 件のコメント

Mohammad Sohel Rana
Mohammad Sohel Rana 2017 年 4 月 11 日
I need at Tc(N+1)=15C. Thank you James Tursa. Should I need to define Tc1?

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 4 月 11 日

0 投票

The solution is
TC(1) = 15 + sum(q(2:N)) / (1000*mc*cpc)

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by