Matlab:从单元到双单元的转换

Matlab:从单元到双单元的转换,matlab,cell,Matlab,Cell,我试图将impixel函数给出的颜色值存储到某种矩阵或数组中 B = cell(301, 51); for R = 200: 500 for C = 175 : 225 B(R-199,C-174) = impixel(I,R,C); end end 我创建了一个单元格数组来保存这些值,但一直出现以下错误: “无法从双精度转换为单元格。” 我的错误在哪里?谢谢 错误应该在这一行: B(R-199,C-174) = impixel(I,R,C); impixel在本例中返回了一个dou

我试图将
impixel
函数给出的颜色值存储到某种矩阵或数组中

B = cell(301, 51);
for R = 200: 500
for C = 175 : 225
    B(R-199,C-174) = impixel(I,R,C);
end
end
我创建了一个单元格数组来保存这些值,但一直出现以下错误:

“无法从双精度转换为单元格。”


我的错误在哪里?谢谢

错误应该在这一行:

B(R-199,C-174) = impixel(I,R,C);

impixel
在本例中返回了一个
double
类型,而B是一个
单元格
类型。

查看的文档,它声明其输出都是类
double
single

在代码中,您将
B
定义为单元格数组。在
B
中存储
impixel
的输出没有问题。但是,如果使用括号对其进行索引,则它希望指定的值也为单元格。您希望将
impixel
的输出分配给
B
的特定元素,并且需要使用大括号
{}
来引用该元素。我相信把你的代码改成

B{R-199,C-174} = impixel(I,R,C);
也许能解决你的问题