Could anyone give an idea to write code to solve below problem
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammad Sohel Rana
am 11 Apr. 2017
Beantwortet: Walter Roberson
am 11 Apr. 2017
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.
0 Kommentare
Akzeptierte Antwort
James Tursa
am 11 Apr. 2017
Bearbeitet: James Tursa
am 11 Apr. 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)
Weitere Antworten (1)
Walter Roberson
am 11 Apr. 2017
The solution is
TC(1) = 15 + sum(q(2:N)) / (1000*mc*cpc)
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!