【发布时间】:2013-09-20 21:49:03
【问题描述】:
因为我试图让一个 GUI 元素对我的数组进行切片,所以变量中会有一个 :(冒号)符号。这会给我一个错误:
Error in gui_mainfcn (line 96)
feval(varargin{:});
第 96 行引用了这段代码:
image(handles.data(1:handles.rows,1:handles.cols, temp))
温度是这样的
temp =
1 1 1 1 2 1 1 1 1
handles.rows 和 cols 的值都是 64。所以问题似乎是我在 gui 函数中使用了冒号。但是,要切片,我需要使用冒号。我现在的问题是:知道如何解决这个问题吗?
按以下要求澄清
当我在控制台中手动输入时,上面的代码有效。另外当我使用handles.data(:,:,1,1,1,1,2,1,1,1,1),handles.data(1:end,1:end,1,1,1,1 ,2,1,1,1,1),handles.data(1:64,1:64,1,1,1,1,2,1,1,1,1) 等我得到同样的错误gui。手动它们都可以工作并返回一个 64 x 64 的双精度数组,我可以使用 image() 进行绘制。
可能与这些问题有关,但是那些处理parfor困难并且似乎没有回答我的问题:
我现在也在阅读 the advanced topics 以了解切片变量。仍然没有看到我做错了什么,所以任何帮助或解释仍然会非常感激。谢谢!
【问题讨论】:
-
您是否碰巧在错误消息附近的任何地方看到文本
Function 'subsindex' is not defined for values of class 'cell'.?你的temp变量是一个单元格,所以你不能用它来索引handles.data。 -
啊,是的,对不起,我发布了旧形式的 temp。我以前遇到过这个错误,但现在没有了。不管怎么说,多谢拉。我更正了问题中的代码。
标签: arrays matlab user-interface slice