フィルターのクリア

How to get rid of this error when adding an element to the rows of a table?

2 ビュー (過去 30 日間)
I have a table with strings and double values. When I try to add new element in each row I will get this value. Could some one explain me what can be done?
Warning: The assignment added rows to the table, but did not assign values to all of the table's existing variables. Those variables have been extended with rows containing default values. > In tabular/subsasgnDot (line 338) In tabular/subsasgn (line 67) In orderMain (line 140)
  3 件のコメント
Pratheek Manangi
Pratheek Manangi 2017 年 5 月 18 日
for i=1:length(rpmFixed)
DatTab.rpm(i,1)=rpmFixed(i);
DatTab.Lss1(i,1)=orderNewSlices{1,1}(1,i);
DatTab.Lss2(i,1)=orderNewSlices{1,2}(1,i);
DatTab.Lss3(i,1)=orderNewSlices{1,3}(1,i);
DatTab.Lss4(i,1)=orderNewSlices{1,4}(1,i);
DatTab.Lss5(i,1)=orderNewSlices{1,5}(1,i);
DatTab.Lss6(i,1)=orderNewSlices{1,6}(1,i);
DatTab.Lss7(i,1)=orderNewSlices{1,7}(1,i);
DatTab.Lss8(i,1)=orderNewSlices{1,8}(1,i);
DatTab.Lss9(i,1)=orderNewSlices{1,9}(1,i);
DatTab.Lss10(i,1)=orderNewSlices{1,10}(1,i);
DatTab.IMS1(i,1)=orderNewSlices{1,11}(1,i);
DatTab.IMS2(i,1)=orderNewSlices{1,12}(1,i);
DatTab.IMS3(i,1)=orderNewSlices{1,13}(1,i);
DatTab.HSS1(i,1)=orderNewSlices{1,14}(1,i);
DatTab.HSS2(i,1)=orderNewSlices{1,15}(1,i);
DatTab.Hss3(i,1)=orderNewSlices{1,16}(1,i);
end
Pratheek Manangi
Pratheek Manangi 2017 年 5 月 18 日
Hello Thanks for the reply,
Here is my code. Could you suggest me what I can do to resolve that warning?

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2017 年 5 月 18 日
You're probably using the slowest and most complicated way to create a table.
tempslices = cellfun(@ctranspose, orderNewSlices, 'UniformOutput', false); %transpose the row vectors in the cell array to column vectors
DatTab = [table(rpmFixed(:), 'VariableNames', {'rpm'}), ...
cell2table(orderNewSlices, 'VariableNames', ...
[compose('Lss%d', 1:10), compose('IMS%d', 1:3), compose('HSS%d', 1:3)])]
should do the same.
  9 件のコメント
Guillaume
Guillaume 2017 年 5 月 22 日
Yes, note that my latest code differs from the earlier one where I'd made a mistake. I've changed tempslices(:) to tempslices{:} (notice the different brackets), which properly passes the elements of the cell array as columns.
If that still doesn't work then check the output of:
size(rpmFixed)
%and
celldisp(cellfun(@size, tempslices, 'UniformOutput', false))
Pratheek Manangi
Pratheek Manangi 2017 年 5 月 22 日
Thanks a lot It did work

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTables についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by