我尝试从逻辑参数重建矩阵,如下例所示:
a=rand(2,5)
b=rand(2,5)
c=a>b
a(:,c)=b(:,c)
但是我收到Index exceeds matrix dimension
错误。这可以在不预先重新整形矩阵的情况下完成吗?
答案 0 :(得分:0)
如果您想将a
和b
之间的最小值复制到每个条目中,请尝试:
a=rand(2,5);
b=rand(2,5);
c = find(a>b); % c contains the position of value of the greatest val
a(c)=b(c) % removes greates value copying a smaller value from b
如果要复制最大值,请修改创建变量c
的语句。
Index exceeds matrix dimensions
是由于您尝试将列表:
和矩阵c
用作矩阵维度而导致的。 Find创建一个满足所需关系的值列表,可用于调用特定值。