Numeric data becomes zero after conversion from Table

8 次查看(过去 30 天)
I am trying to extract data collected via IMU using the readtable function like this:
%Extracting data from the LGW folder
[filename, pathname] = uigetfile('*.dat');
T1 = readtable(strcat(pathname,filename),"ReadVariableNames",true);
T1 = T1(:,1:end-2);
[filename, pathname] = uigetfile('*.dat');
T2 = readtable(strcat(pathname,filename));
T2 = T2(:,1:end-2);
[filename, pathname] = uigetfile('*.dat');
T3 = readtable(strcat(pathname,filename));
T3 = T3(:,1:end-2);
[filename, pathname] = uigetfile('*.dat');
T4 = readtable(strcat(pathname,filename));
T4 = T4(:,1:end-2);
T4(:,[51 52]) = [];
[filename, pathname] = uigetfile('*.dat');
T5 = readtable(strcat(pathname,filename));
T5 = T5(:,1:end-2);
T5(:,[51 52]) = [];
[filename, pathname] = uigetfile('*.dat');
T6 = readtable(strcat(pathname,filename));
T6 = T6(:,1:end-2);
T6(:,[51 52]) = []
However, when converting it to numeric data like this:
nums = [LGW_Pelvis{2,:}]
The data becomes zero except for the all the row under the first column.
I have tried changing the format into cell and timetable but when getting the numeric data format from these data types: they becomes zero.
  8 个评论
Walter Roberson
Walter Roberson 2023-1-26
Okay, please show us
unique(varfun(@class, data_LGW(1,61:70), 'OutputFormat', 'cell'))

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2023-1-26
I predict that you have
format short
in effect, and that what is being displayed is not really 0 but is instead something of the form
x = [0,10.^(-5:5)]
x = 1×12
1.0e+05 * 0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0010 0.0100 0.1000 1.0000
Notice the initial "1.0e+5 *" before the line, and notice the "0.0000" entries. The "1.0e+5 *" indicates that you need to mentally multiply all of the displayed outputs by 1.0e+5. The 0.0000 entries indicate something that is not exactly zero, but instead is smaller than 0.0001 times the value shown in the first line. Notice the exact 0 at the begining is shown without the ".0000" .
I predict that if you were to
format long g
x
x = 1×12
1.0e+00 * 0 1e-05 0.0001 0.001 0.01 0.1 1 10 100 1000 10000 100000
then you would see the actual values.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by