创建函数时出错,然后在Matlab中返回字符串数组?

时间:2018-11-18 04:17:35

标签: matlab

我正在学习MATLAB,并尝试编写以下代码。 编写一个名为“ buildrandomstrings”的函数,该函数将接收输入整数n。现在,如果n为+ ve:它将创建并返回一个单元格数组,该数组具有从1到n的长度递增的随机字符字符串。每个字符串都由前一个随机字符串加上一个额外的随机字符组成。

现在我的代码-

function buildrandomstrings = buildrandomstrings(inchar, posint)
% Creates a cell array with strings of increasing
% lengths, from 1:n, starting with inchar
% Format of call: buildstr(input char, n)
% Returns cell array with n strings

buildrandomstrings= cell(1, posint);
inchar = char(inchar-1);

strin = '';

for i = 1:posint
    strin = strcat(strin, char(inchar+i));
    buildrandomstrings{i} = strin;
end
end

但是我收到以下错误,这对我来说是没有意义的。即使我到处都看过。

buildrandomstrings(4)
  

输入参数不足。

     

buildrandomstrings错误(第7行)

     

buildrandomstrings = cell(1,posint);

按Ctrl键并单击时,我得到以下信息。

  

使用长度从1:n开始递增的字符串创建一个单元格数组,   以inchar开头调用格式:buildstr(input char,n)
  返回具有n个字符串的单元格数组

1 个答案:

答案 0 :(得分:1)

我猜您正在运行buildrandomstrings(4)。但是,您需要提供函数function buildrandomstrings = buildrandomstrings(inchar, posint)定义的两个参数。

尝试:

buildrandomstrings('a', 4)

输出:

ans =
  1×4 cell array
    {'a'}    {'ab'}    {'abc'}    {'abcd'}