Plotting and storing results from a while loop.

2 ビュー (過去 30 日間)
Louis Lowagie
Louis Lowagie 2016 年 4 月 29 日
編集済み: Renato Agurto 2016 年 4 月 29 日
Hello,
i am currently working on a thermal model. My function is the heatflux-function and this calculates the temperature in one step. The idea is to use a while-loop to calculate the consecutive temperatures after multiple passes. This means the heatflux function uses the T_end from the previous loop to calculate the heatflux for the next loop. However, when i program this loop it doesn't seem to respond as wanted. I would also like to store the outputs of the function (Q, T_end, delta_T) and be able to plot after the loop has completed. The heatflux function works with the given inputs. Can somebody give me some useful tips on how to approach this problem?
Thanks in advance.
My current code is posted below.
if true
%
while i<N
r = r_initial - i*p/tan(angle);
[Q , delta_T, T_end ] = heatflux(v, p, r , angle, T, laserpower);
T = T_end + delta_T;
T(i) = T_end + delta_T;
i = i+1;
end
plot (T)
end

回答 (1 件)

Renato Agurto
Renato Agurto 2016 年 4 月 29 日
I think you already have the answer in your code. The problem is that you are overwriting T in the following line
T = T_end + delta_T;
.
%You need to give the inicial value to T
T(1) = ...
%or
T(i-1) = ...
if true
%
while i<N
r = r_initial - i*p/tan(angle);
[Q(i) , delta_T(i), T_end(i) ] = heatflux(v, p, r , angle, T(i-1), laserpower);
T(i) = T_end(i) + delta_T(i);
i = i+1;
end
plot (T)
end
  2 件のコメント
Louis Lowagie
Louis Lowagie 2016 年 4 月 29 日
This doesn't work. I get an error.
Renato Agurto
Renato Agurto 2016 年 4 月 29 日
編集済み: Renato Agurto 2016 年 4 月 29 日
What value does i have when getting this error? i should be 1 or higher. Actually 2 or higher in case you are using T(i-1)

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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by