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

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

i examined all my values in the table. They all have 25 values. i don't know what's wrong?!
step= (0.0:0.2:5)';
>> length( step )
ans =
26

Sign in to comment.

 Accepted Answer

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

step= (x)';
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)
It worked when i took off ( ' ) at the end of the (psi0,psi1,psi2,psi3,psi4,psi5). As if the variables were already coulme arranged so there's no need to use ( ' ). though this is strange!
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)

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

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?
addvars lets you add new variables in the middle. It's really the only reason why it even exists.

Sign in to comment.

Asked:

on 15 Mar 2019

Commented:

on 18 Mar 2019

Community Treasure Hunt

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

Start Hunting!