appending an empty list

162 views (last 30 days)
Eli Borodach
Eli Borodach on 21 Oct 2015
Commented: Robert on 5 Nov 2015
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
Eli Borodach
Eli Borodach on 22 Oct 2015
what is mupad? shlould I do include?

Sign in to comment.

Answers (1)

Robert on 21 Oct 2015
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.
Robert on 5 Nov 2015
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!'}
ans =
'Hello' ','
' ' 'World!'
Use docsearch cell-arrays to learn more.

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!