Borrar filtros
Borrar filtros

I want to find different values in different matrices at the same date???

2 visualizaciones (últimos 30 días)
Dear all, I have again a problem with the date. I have two different matrices with different dimensions. In the matrix jump is in the fist column the date, but the different points in time are not equally spaced. So some days between the years 2004 and 2012 are missing. In the second column are the values of the the jumps. The dimension of the matrix is 2746*2. The second matrix has the dimension 3288*4. So this matrix has also the date in the first column but much more points in time. I want to add the values of the first matrix to the second matrix and the values in the first matrix should be at the same day in the second matrix as before. So the date is the selection criterion. The date is converted to numbers. I tried it with an if else loop but I did not work. How can I add the values of jump to the second matrix??? Thank you in advance.
  3 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 20 de Feb. de 2013
Editada: Azzi Abdelmalek el 20 de Feb. de 2013
What do you mean by to add a value? is it a sum or what? In the second matrix there are 3 columns while in the first there is one, where to add these values?
Thor
Thor el 20 de Feb. de 2013
The date is a number, because I converted it with the command datenum. In the matix jump was it dd-mmm-yyyy hh:mm:ss and in the other matrix only dd-mmm-yyyy. I want to separate the second column of jump and add each value to second matrix to the same date, where it was before. So I can not use horzcat because there are different dimensions of time. Each point of time in jump is in the second matrix but in a different adjustment. So I dont want to sum up and I want to create a 5th column in the second matrix. I want to reallocate 2746 values to the second matrix and the other values in the new 5th column should be zero. Thank you!

Iniciar sesión para comentar.

Respuesta aceptada

Thorsten
Thorsten el 20 de Feb. de 2013
A = [1 3; 2 4; 5 8];
B = [[1:5]' [ 40 50 60 70 80]'];
for i = 1:size(A, 1)
B(find(A(i,1)== B(:,1)), 3) = A(i, 2);
end
  4 comentarios
Thorsten
Thorsten el 20 de Feb. de 2013
You have to convert the dates to numbers and everything should work.
Thor
Thor el 20 de Feb. de 2013
Yes you're right. I had to round the datevector, because of the different format with additional hh:mm:ss. So now it works. Thank you!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by