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

2 views (last 30 days)
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 on 17 Dec 2020
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
Thank you! Can you explain how yn - yp does not equal to zero here? And also how reshape and squeeze works in this situation?

### Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

R2020b

### Community Treasure Hunt

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

Start Hunting!