Save double vector in matrix in for loop

Hello everyone,
I'm trying to safe the values of a variable into a matrix. The calculations happen in a for loop, but only the last iteration will be saved into the matrix. Is there an error in my code or is it just wrong how I'm trying to save the double vector into the matrix?
I'll put some part of the code below. Just tell me, if you need the whole code.
Thanks for your help!
for j = 1:5
%... a long code with calculations to get the phase shift of two sine
%curves
% time difference for positive slope crossing points
dt_pos_slope = t0_pos1 - t0_pos2;
% time difference for negative slope crossing points
dt_neg_slope = t0_neg1 - t0_neg2;
d_df_mat = zeros(10,5);
d_df = [dt_neg_slope dt_pos_slope]';
d_df = abs(d_df(:));
d_df_mat(:,j) = d_df; %Here I'm trying to save the values
%into the d_df_mat Matrix, but only the last iteration will be saved
end

1 comentario

Yazan
Yazan el 2 de Jul. de 2021
In each iteration, you are redefining the matrix d_df_mat and setting its values to zeros. Therefore, only the last iteration will survive. Define your matrix d_df_mat outside the loop.

Iniciar sesión para comentar.

 Respuesta aceptada

Matt J
Matt J el 2 de Jul. de 2021
Editada: Matt J el 2 de Jul. de 2021
The line,
d_df_mat = zeros(10,5);
should be prior to the loop, not inside it.

1 comentario

Bruce Rogers
Bruce Rogers el 2 de Jul. de 2021
Oh yes, you're right. Thanks for your help, I didn't notice

Iniciar sesión para comentar.

Más respuestas (1)

KSSV
KSSV el 2 de Jul. de 2021
d_df_mat = zeros(10,5);
for j = 1:5
%... a long code with calculations to get the phase shift of two sine
%curves
% time difference for positive slope crossing points
dt_pos_slope = t0_pos1 - t0_pos2;
% time difference for negative slope crossing points
dt_neg_slope = t0_neg1 - t0_neg2;
d_df = [dt_neg_slope dt_pos_slope]';
d_df = abs(d_df(:));
d_df_mat(:,j) = d_df; %Here I'm trying to save the values
%into the d_df_mat Matrix, but only the last iteration will be saved
end

Categorías

Productos

Versión

R2020b

Preguntada:

el 2 de Jul. de 2021

Comentada:

el 2 de Jul. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by