appending an empty list
18 ビュー (過去 30 日間)
古いコメントを表示
Hello all,
my code:
list_rats = [];
append(list_rats, Cell.rat);
when Cell.rat is a string. it throws me:
Error using append (line 39) Wrong number of input arguments for obsolete matrix-based syntax.
What should I do?
Thanks in advance
2 件のコメント
Jan
2015 年 10 月 21 日
What is the function "append"? Does this appear using MuPad? See: http://www.mathworks.com/help/symbolic/mupad_ref/append.html
回答 (1 件)
Robert
2015 年 10 月 21 日
The behavior of append is specific to the data types input to it. For the basic types, you are probably better off using
list_rats = [];
a_new_list = [list_rats, Cell.rat];
% or
other_list = [list_rats; Cell.rat];
Also, if you indent your code (two spaces will do) when you type a question, answer, or comment, it will appear in a formatted code block as above.
2 件のコメント
Robert
2015 年 11 月 5 日
You can append strings horizontally regardless of their length, i.e.
>> ['Hello,', ' ', 'World!']
ans =
Hello, World!
But because MATLAB arrays cannot be ragged, vertical concatenation of varying-length strings will produce an error.
>> ['Hello,'; ' '; 'World!']
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
If you are trying to collect a list of strings without combining them into one string, you should try cell arrays.
>> {'Hello', ',', ' ', 'World!'}
ans =
'Hello' ',' ' ' 'World!'
>> {'Hello'; ','; ' '; 'World!'}
ans =
'Hello'
','
' '
'World!'
>> {'Hello', ','; ' ', 'World!'}
ans =
'Hello' ','
' ' 'World!'
Use docsearch cell-arrays to learn more.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!