MatLab datenum truncated in matrix

7 visualizzazioni (ultimi 30 giorni)
Rhys
Rhys il 14 Giu 2012
I am writing a code for a research project in space physics and at the very end I output a matrix with time, and the magnetic field strength.
The final function is
function [time, data_out]=time_Bpar_Bperp(fname)
% Function recieves a file name and out puts time, a vector in the
% direction parallel to the magentic field and a vector perpindicular to
% the magnetic field
[time, Bparallel] = loadthemismag(fname);
eparallel = make_eparallel(fname);
eperp = make_eperp(time, eparallel(:,2:4), fname);
Bperp = make_Bperp(eparallel(:,2:4), eperp, Bparallel(:,2:4));
cd('I:/olddrive')
Bparallel=findmagnitude(Bparallel(:,1:3));
Bperp=findmagnitude(Bperp);
data_out=[time, Bparallel, Bperp];
The data in time is about every 3 seconds but the data located in data_out(:,1) is not the same as time. When I plot time vs data_out(:,1), the resulting plot looks like stairs. Any ideas on why the time is being messed up in the matrix, and nothing is happening to it outside of it. If it matters the matrix is 28526 by 3.
Thanks,
Rhysics

Risposta accettata

Walter Roberson
Walter Roberson il 14 Giu 2012
Please confirm that time, Bparallel, and Bperp are all column vectors, and the class() of all of them is 'double'. If one of them happened to be an integer data type then putting them together in a matrix could result in them all being converted to integer.
  1 Commento
Rhys
Rhys il 15 Giu 2012
Yep that's it. Thanks a lot. I should have seen that.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by