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

1 visualización (últimos 30 días)
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?

Respuesta aceptada

madhan ravi
madhan ravi el 17 de Dic. de 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
  1 comentario
Syed Azib Anaqy Al-Sahab bin Wan Madhi
Editada: Syed Azib Anaqy Al-Sahab bin Wan Madhi el 18 de Dic. de 2020
Thank you! Can you explain how yn - yp does not equal to zero here? And also how reshape and squeeze works in this situation?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by