How do I create a matrix from from the answers of each iteration of a for loop?

1 回表示 (過去 30 日間)
This is my for loop code,
N = 4
for yn = cos(pi*(0:N)/N)
yp = cos(pi*(0:N)/N);
bottom = 1./(yn - yp)
end
This is the output,
bottom =
Inf 3.4142 1.0000 0.5858 0.5000
bottom =
-3.4142 Inf 1.4142 0.7071 0.5858
bottom =
-1.0000 -1.4142 Inf 1.4142 1.0000
bottom =
-0.5858 -0.7071 -1.4142 Inf 3.4142
bottom =
-0.5000 -0.5858 -1.0000 -3.4142 Inf
How do I create a
[Inf 3.4142 1.0000 0.5858 0.5000
-3.4142 Inf 1.4142 0.7071 0.5858
-1.0000 -1.4142 Inf 1.4142 1.0000
-0.5858 -0.7071 -1.4142 Inf 3.4142
-0.5000 -0.5858 -1.0000 -3.4142 Inf] matrix from my output, because the last bottom iteration is the final answer?

採用された回答

madhan ravi
madhan ravi 2020 年 12 月 17 日
N = 4;
yn = cos(pi * ( 0 : N ) / N);
yp = cos(pi * ( 0 : N ) / N);
yp = reshape(yp, 1, 1, []);
bottom = squeeze(1 ./ (yn - yp))
bottom = 5×5
Inf 3.4142 1.0000 0.5858 0.5000 -3.4142 Inf 1.4142 0.7071 0.5858 -1.0000 -1.4142 Inf 1.4142 1.0000 -0.5858 -0.7071 -1.4142 Inf 3.4142 -0.5000 -0.5858 -1.0000 -3.4142 Inf
  1 件のコメント
Syed Azib Anaqy Al-Sahab bin Wan Madhi
編集済み: Syed Azib Anaqy Al-Sahab bin Wan Madhi 2020 年 12 月 18 日
Thank you! Can you explain how yn - yp does not equal to zero here? And also how reshape and squeeze works in this situation?

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by