Right hand side of an assignment into a table must be another table or a cell array.

81 vues (au cours des 30 derniers jours)
bias = table('Size',[1,11], 'VariableTypes', {'datetime', 'string', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'cell'}, 'VariableNames', ["time", "config", "ypos", "FA", "FN", "thrust", "CTA", "CTC", "VAB", "VBC", "pressure"]);
bias(1,4:10) = [1 2 3 4 5 6 7]; % throws error
bias(1,4) = 5; % Also throws error
both ways of assigning data into my table result in the error "Error using () Right hand side of an assignment into a table must be another table or a cell array."
The data type for these field is all double, why can I not assign a value with row/column indexing in this way? particularly the second one?
I can do
bias.FA = 1;
bias.FN = 2;
% etc...
but is there a way to fill these columns in one line? particularly.. to fill adjacent columns in a table using an array?
  1 commentaire
Stephen23
Stephen23 le 27 Oct 2023
"The data type for these field is all double, why can I not assign a value with row/column indexing in this way?"
Because parentheses refers to the table array itself.
If you want to refer to the table content then use curly braces:

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 27 Oct 2023
bias{1,4:10} = [1,2,3,4,5,6,7];
bias{1,4} = 5;
  2 commentaires
cdlapoin
cdlapoin le 27 Oct 2023
Thank you, the error message had me convinced that the problem was on the right hand side of the assignment, so I had tried things like:
bias(1,4:10) = {1,2,3,4,5,6,7}
bias(1,4:10) = {[1,2,3,4,5,6,7]}
but I never tried curly brackets on the left side. The fact that
bias(1,4)
returns a Table datatype should have been a clue, but I still couldn't make the connection.

Connectez-vous pour commenter.

Plus de réponses (2)

KSSV
KSSV le 27 Oct 2023
Modifié(e) : KSSV le 27 Oct 2023
bias = table('Size',[1,11], 'VariableTypes', {'datetime', 'string', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'cell'}, 'VariableNames', ["time", "config", "ypos", "FA", "FN", "thrust", "CTA", "CTC", "VAB", "VBC", "pressure"]);
val = 1:7 ;
for i = 1:7
bias.(i+3) = val(i) ;
end
OR
time = datetime ;
config = {'Missing'} ;
ypos = 0 ;
FA = 1 ;
FN = 2 ;
thrust = 3 ;
CTA = 4 ;
CTC = 5 ;
VAB = 6 ;
VBC = 7 ;
pressure = {100} ;
bias = table(time,config,ypos,FA,FN,thrust,CTA,CTC,VAB,VBC,pressure)

Walter Roberson
Walter Roberson le 27 Oct 2023
bias = table('Size',[1,11], 'VariableTypes', {'datetime', 'string', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'double', 'cell'}, 'VariableNames', ["time", "config", "ypos", "FA", "FN", "thrust", "CTA", "CTC", "VAB", "VBC", "pressure"]);
%version 1
bias(1,4:10) = num2cell([1 2 3 4 5 6 7]);
bias(1,4) = {5};
%version 2
bias{1,4:10} = [1 2 3 4 5 6 7];
bias{1,4} = 5;
bias
bias = 1×11 table
time config ypos FA FN thrust CTA CTC VAB VBC pressure ____ _________ ____ __ __ ______ ___ ___ ___ ___ ____________ NaT <missing> 0 5 2 3 4 5 6 7 {0×0 double}

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Tags

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by