我想了解以下代码的工作原理:
close all
clear all
t=[0:0.1:10];
x=figure(1);
plot(t,t.^2)
a=getframe(gcf);
b{1}=frame2im(a);
而是以下代码不起作用:
close all
clear all
t=[0:0.1:10];
x=figure(1);
plot(t,t.^2)
a=getframe(gcf);
b(1)=frame2im(a);
如果我使用“b(1)= x;”它有效。
非常感谢。
答案 0 :(得分:0)
在数组中,您只能在单个索引处存储任何类的一个 1x1值,但数组中所有元素的类必须相同。在单元阵列中,没有这样的限制。
frame2im(a)
为[525x700x3 uint8]
,因此如果您想将其存储在单个索引中,则可以将其存储在单元格中而不是简单数组中。
b(1)=x;
有效,因为x
为1x1 matlab.ui.Figure
。您还可以将x
存储在单元格数组中。
答案 1 :(得分:0)
根据我的理解,您需要知道MATLAB中的单元格。如果您碰巧了解Python,您可能会采用" list" -type方式。 MATLAB单元格可以存储数字,字符串等。但是它的数组用于存储数字。 这就是为什么你的fram2im结构无法工作的原因。