在Matlab中我试图找到坐标小于某个函数的3d矩阵中的点。 如果这些坐标等于我能写的某些函数:
A(some_function1,some_function2,some_function3)=2;
但是,如果我想做类似的事情呢?
A(<some_function1,<some_function2,<some_function3)=2;
这不起作用 - 那么在不使用“for”循环的情况下找到这些点的另一种方法是什么?不幸的是,对于“for”循环,我的代码需要花费大量时间来计算。谢谢你的帮助!
答案 0 :(得分:1)
的内容如何
A( ceil(min(some_function1,size(A,1))),...
ceil(min(some_function2,size(A,2))),...
ceil(min(some_function3,size(A,3))) );
这会将指标限制在每个数组维度的末尾
答案 1 :(得分:1)
您可以使用常规索引来实现此目的:
A(1:floor(some_function1),1:floor(some_function2),1:floor(some_function3)) = 2;
假设您检查/确保floor(some_function*)
小于A
答案 2 :(得分:0)
尝试:
A(1:size(A,1)<some_function1, 1:size(A,2)<some_function2, 1:size(A,3)<some_function3) = 2
我希望我能正确地回答你的问题。