1

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)などから同じエラーが発生しますグイ。手動でそれらはすべて機能し、image() でプロットできる double の 64 x 64 配列を返します。

これらの質問に関連している可能性がありますが、それらはparforの問題を扱っており、私の質問には答えていないようです:

matlab-parfor-slicing-issue

index-inside-parfor-slicing

現在、変数のスライスに関する高度なトピックも読ん でいます。ただし、私が間違っていることはまだわかりません。そのため、ヘルプや説明は引き続き大歓迎です。ありがとう!

4

2 に答える 2

1

同じ問題を抱えている人に注意してください。このエラーは、スライスの方法がわからないことが原因であるだけでなく、変数を正しく定義していないことが原因である可能性もあります: http://www.mathworks.nl/matlabcentral/answers/87417 -how-to-slice-inside-gui-without-error-feval-varargin

于 2013-10-01T06:52:56.783 に答える