1

Matlab では、座標が関数よりも小さい 3D マトリックス内のポイントを見つけようとしています。これらの座標が私が書くことができるよりもいくつかの関数に等しい場合:

A(some_function1,some_function2,some_function3)=2;

しかし、次のようなことをしたい場合はどうすればよいでしょうか:

A(<some_function1,<some_function2,<some_function3)=2;

これは機能しません。「for」ループを使用せずにそのようなポイントを見つける別の方法は何ですか? 残念ながら、「for」ループを使用すると、コードの計算に時間がかかります。ご協力ありがとうございました!

4

3 に答える 3

1

の線に沿ったものはどうですか

A(  ceil(min(some_function1,size(A,1))),...
    ceil(min(some_function2,size(A,2))),...
    ceil(min(some_function3,size(A,3)))   );

これにより、インデックスが各配列次元の最後に制限されます

于 2012-04-17T18:49:58.663 に答える
1

これを実現するには、通常のインデックス作成を使用できます。

A(1:floor(some_function1),1:floor(some_function2),1:floor(some_function3)) = 2;

floor(some_function*)の寸法よりも小さいことを確認/確認するとします。A

于 2012-04-17T18:50:57.483 に答える
0

試す:

A(1:size(A,1)<some_function1, 1:size(A,2)<some_function2, 1:size(A,3)<some_function3) = 2

あなたの質問が正しく理解できたことを願っています。

于 2012-04-17T18:49:33.787 に答える