i*****l 发帖数: 50 | 1 生成一个指示矩阵
比如A=[1,3,3,4,2]
我想生成一个指示矩阵如[0,1,1,1,0]表示A中大于等于3的元素.
这样我可以快速对这些元素作操作,比如把这些元素都+3.
用完find一后好象只能用循环完成上面操作吧. | E*V 发帖数: 17544 | 2 有的,不过。。。我不记得了。thrust应该知道
【在 i*****l 的大作中提到】 : 生成一个指示矩阵 : 比如A=[1,3,3,4,2] : 我想生成一个指示矩阵如[0,1,1,1,0]表示A中大于等于3的元素. : 这样我可以快速对这些元素作操作,比如把这些元素都+3. : 用完find一后好象只能用循环完成上面操作吧.
| t****t 发帖数: 6806 | 3 A(A>=3)=A(A>=3)+3
it's called logical matrix
【在 i*****l 的大作中提到】 : 生成一个指示矩阵 : 比如A=[1,3,3,4,2] : 我想生成一个指示矩阵如[0,1,1,1,0]表示A中大于等于3的元素. : 这样我可以快速对这些元素作操作,比如把这些元素都+3. : 用完find一后好象只能用循环完成上面操作吧.
| s******e 发帖数: 285 | 4 A(find(A)>3) = A(find(A)>3) + 3
【在 i*****l 的大作中提到】 : 生成一个指示矩阵 : 比如A=[1,3,3,4,2] : 我想生成一个指示矩阵如[0,1,1,1,0]表示A中大于等于3的元素. : 这样我可以快速对这些元素作操作,比如把这些元素都+3. : 用完find一后好象只能用循环完成上面操作吧.
| t****t 发帖数: 6806 | 5 you probably meant
A(find(A>=3)) = A(find(A>=3)) + 3
which, I believe, is slower than my version
【在 s******e 的大作中提到】 : A(find(A)>3) = A(find(A)>3) + 3
| A**********e 发帖数: 3102 | 6 呵呵,pat pat。
用 MATLAB 一定要把逻辑矩阵用熟啊。
【在 s******e 的大作中提到】 : A(find(A)>3) = A(find(A)>3) + 3
| i*****l 发帖数: 50 | 7 3x
【在 t****t 的大作中提到】 : A(A>=3)=A(A>=3)+3 : it's called logical matrix
|
|