problem with table / array/cell

Hi ,
The function is converting table to cell instead of table to array matrix.
I need a simple array vector for each column to plot and to do further calculation
clear all;
close all;
clc;
TXT_FileName='Fundamental + Harmonic distortion components.txt';
filedata = readtable(TXT_FileName,'delimiter','\t','readvariablenames',true);
A = table2array(filedata);
array = table2array(filedata(3:end,:));
% row=2;
% A(row,:)=[];
% row=1;
% A(row,:)=[];
Freq = array(:,1);
All_Fun_SPL = array(:,2);
% plot(Freq(:,1),All_Fun_SPL(:,1));

2 Comments

I think the readtable is not detecting your header rows, you may want to explicitly state how many header rows there are. This causes it import data as cell string rather then as numeric values.
Totally, 12 col and 6 pairs x y graphs (odd are x and even are y)

Sign in to comment.

Answers (1)

Stephan
Stephan on 3 Jun 2020
Edited: Stephan on 3 Jun 2020
Your table content is a cell array - Read the Tips section from the documentation. It tells you why and how to deal with it.
cell2mat(table2cell(T))

1 Comment

Hi,
The cell2mat makes error like below
Error using cat
Dimensions of arrays being concatenated are not consistent.
Error in cell2mat (line 83)
m{n} = cat(1,c{:,n});
clear all;
close all;
clc;
TXT_FileName='Fundamental + Harmonic distortion components.txt';
filedata = readtable(TXT_FileName,'delimiter','\t','readvariablenames',true);
M=cell2mat(table2cell(filedata));

Sign in to comment.

Categories

Products

Asked:

on 3 Jun 2020

Commented:

on 3 Jun 2020

Community Treasure Hunt

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

Start Hunting!