Numeric data becomes zero after conversion from Table

7 visualizzazioni (ultimi 30 giorni)
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 Commenti
Walter Roberson
Walter Roberson il 26 Gen 2023
Okay, please show us
unique(varfun(@class, data_LGW(1,61:70), 'OutputFormat', 'cell'))
Rainer Rodrigues
Rainer Rodrigues il 26 Gen 2023
ans = 1×1 cell array
{'double'}
This is the given output.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 26 Gen 2023
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.

Più risposte (0)

Categorie

Scopri di più su Tables in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by