在Octave中遇到 num2str
函数问题 .
My code :
>> alpha = zeros(1,length(alpha));
>> legendInfo = zeros(1,length(alpha));
>> legendInfo(1) = num2str(alpha(1));
Error Message :
错误:A(I)= X:X必须与I具有相同的大小
我一直试图按照这个链接无济于事:Link
Update:
根据建议,我已实现以下代码并收到以下错误消息:
>> labelInfo = cell(1,numel(alpha))
>> labelInfo{1} = num2str(alpha{1});
错误:矩阵无法使用{error:evaluate参数列表元素编号1进行索引
ANSWER
通过一次调整提供的答案是准确的:
-
alpha{1}
(语法不正确) -
alpha(1)
(正确的语法)
Parantheses而不是花括号 .
谢谢!
1 回答
您已将
legendInfo
初始化为与alpha
大小相同的数字数组 . 当您将alpha(1)
转换为字符串时,它可能超过1个字符长(即alpha(1) > 9
),这显然不适合数组中的单个元素 .此外,即使
num2str(alpha(1))
产生一个长度为1的字符串,它也会隐式地将其转换为一个数字(它的ASCII表示),这可能不是你想要的 .您可能希望单元数组保存图例信息,而不是数字数组,因为您将拥有不同长度的字符串 .
如果仔细查看已链接的帖子,您会看到他们使用大括号
{}
执行赋值而不是括号()
表示它们正在创建单元格数组 .