我想知道在一定范围内找到最大值的编码。 我已经编码如下。
wapi_screenshot('image.bmp',100,100,50,50); path, left, top, width, height
wapi_screenshot('image.bmp',0,0,0,0); path, fullscreen
wapi_get_clipboard(); return clipboard string of windows
wapi_set_clipboard("hello");
wapi_mouse_event(MOUSE_LEFTDOWN,0,0,0,0); or LEFTUP, MIDDLEUP, ETC
wapi_sendkeys("Hello World!{enter}");
wapi_set_cursor_pos(100,255);
wapi_get_cursor_pos(); return string "X;Y"
wapi_get_key_state(VK_A);
wapi_dialog('open');
wapi_dialog('save');
但问题是,有时我的代码选择的Y轴的最大值不是我想要的。 X轴的范围是0到100000,我希望最大值在20000到100000之间。问题有时最大值显示在0到20000的范围内。 我怎么能弄清楚这一点?
答案 0 :(得分:0)
使用Accounts.onCreateUser(function (options, user) {
if (options.profile) {
user.profile = options.profile;
}
if (user['profile'] == null) {
user['profile'] = {};
}
user['profile']['menuGroup'] = 'a';
return user;
});
功能:
max()
在上面的示例中,%let R be your range of values
R = [2 1 7 4];
[value, index] = max(R);
将为value
,7
将为index
答案 1 :(得分:0)
我正在使用随机整数向量来代替你的函数输出。
a = floor(rand(1,100000)*100);
[val, idx] = max(a(20000:100000));
您希望在此处使用max函数来查找最大值而不是查找。
现在,任务的另一部分是从矩阵的某个部分获取最大值。您可以通过使用一系列值对其进行索引,将一个向量或矩阵的子集传递给函数。请注意,idx
会在val
内为您提供a(20000:100000)
的排名。如果您需要a
中的位置,则需要使用idx+19999
。
另外,你应该看一下矩阵索引参考 - 有很多不同且有趣的方法来索引矩阵 - 因为索引是matlab最重要的特性之一。
这是max函数的参考:
http://www.mathworks.com/help/matlab/ref/max.html
索引参考:
http://www.mathworks.com/help/matlab/math/matrix-indexing.html
答案 2 :(得分:0)
您可以将max
函数与数组的子集一起使用。它将返回最大值以及它所在的索引。请务必根据您所需的范围更正它返回的索引。像这样:
%//create an array of 100,000 values to play with.
f=floor(rand(100000,1).*100);
%//find the max between f(20000) and f(100000)
[myMax, I] = max( f(20000:100000) );
%//correct the index based on where we started looking
%//for the max. Subtract 1 because it's MATLAB!
myIndex = I+20000-1;
这导致:
>> myMax
myMax =
99
>> myIndex
myIndex =
20045
>> f(myIndex)
ans =
99