Error using table (line 253) All variables must have the same number of rows.

118 views (last 30 days)
i don't know why there's an error with my table. all varibales have 25 values.
here's my code
step= (0.0:0.2:5)';
Psi0= psiO(:,1)';
Psi1= psiO(:,6)';
Psi2= psiO(:,11)';
Psi3= psiO(:,16)';
Psi4= psiO(:,21)';
Psi5= psiO(:,26)';
table(step,Psi0,Psi1,Psi2,Psi3,Psi4,Psi5)
  3 Comments
Ali Mulhi
Ali Mulhi on 15 Mar 2019
i examined all my values in the table. They all have 25 values. i don't know what's wrong?!

Sign in to comment.

Accepted Answer

KSSV
KSSV on 15 Mar 2019
Edited: KSSV on 15 Mar 2019
The first input is a column and rest are rows..so the error. Try:
table(step,Psi0',Psi1',Psi2',Psi3',Psi4',Psi5')
You need to rethink on your code. The initilaization and calling th eindices is not good.
  3 Comments
KSSV
KSSV on 15 Mar 2019
It is not strange.......either you should input all rows or columns.....in my case I used all columns.
YOu have transposed the first input to a row from columna nd rest all are rows....

Sign in to comment.

More Answers (1)

Peter Perkins
Peter Perkins on 15 Mar 2019
Psi0 = array2table(psi0(:,[1 6 11 16 21 16])
would have been helpful for this. And then addvars to add step at the beginning.
  2 Comments
Guillaume
Guillaume on 15 Mar 2019
Edited: Guillaume on 15 Mar 2019
or
[table(step), array2table(psi0(:,[1 6 11 16 21 16]))]
Either of these is a lot simpler than temporary numbered (!) variables.
Is there any difference between addvars and table concatenation?
Peter Perkins
Peter Perkins on 18 Mar 2019
addvars lets you add new variables in the middle. It's really the only reason why it even exists.

Sign in to comment.

Categories

Find more on Signal Generation and Preprocessing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!