将函数应用于 Octave 中的每个单元格
Apply a function to each cell in Octave
我有一个矩阵:
>> A = rand(5,2)
ans =
0.843985 0.911387
0.330442 0.589956
0.828405 0.220234
0.049927 0.632131
0.975574 0.254384
我想输出一个相同大小的新矩阵(或替换上面矩阵中的项目),其中每个项目的计算方式如下:
- 如果项目 (x,y) 大于(拥有列的最大值 * 0.50)则使用项目值
- 否则项目 = 0
所以在上面的例子中,
- 最大(A) = [0.975574 0.911387]
- 最大(A) * 0.50 = [0.488779 0.45569]
输出应该是
0.843985 0.911387
0 0.589956
0.828405 0
0 0.632131
0.975574 0
如何在不显式循环遍历每一列的情况下应用此函数?
>> A = rand(5,2)
A =
0.8147 0.0975
0.9058 0.2785
0.1270 0.5469
0.9134 0.9575
0.6324 0.9649
>> B = A.*(A>0.5*max(A))
B =
0.8147 0
0.9058 0
0 0.5469
0.9134 0.9575
0.6324 0.9649
我有一个矩阵:
>> A = rand(5,2)
ans =
0.843985 0.911387
0.330442 0.589956
0.828405 0.220234
0.049927 0.632131
0.975574 0.254384
我想输出一个相同大小的新矩阵(或替换上面矩阵中的项目),其中每个项目的计算方式如下:
- 如果项目 (x,y) 大于(拥有列的最大值 * 0.50)则使用项目值
- 否则项目 = 0
所以在上面的例子中,
- 最大(A) = [0.975574 0.911387]
- 最大(A) * 0.50 = [0.488779 0.45569]
输出应该是
0.843985 0.911387
0 0.589956
0.828405 0
0 0.632131
0.975574 0
如何在不显式循环遍历每一列的情况下应用此函数?
>> A = rand(5,2)
A =
0.8147 0.0975
0.9058 0.2785
0.1270 0.5469
0.9134 0.9575
0.6324 0.9649
>> B = A.*(A>0.5*max(A))
B =
0.8147 0
0.9058 0
0 0.5469
0.9134 0.9575
0.6324 0.9649