在MATLAB中,我使用了几个我编写的java例程来与MyQSL数据库进行交互.一个例程返回一个布尔值
result <1x1 java.lang.Boolean>
>> result
result =
true
Run Code Online (Sandbox Code Playgroud)
当我在条件语句中使用它时,我收到一条错误消息.
>> if result,
disp('result is true')
end
??? Conversion to logical from java.lang.Boolean is not possible.
Run Code Online (Sandbox Code Playgroud)
有没有办法将java boolean类用作MATLAB逻辑类型?或者我是否必须从我的java例程中返回整数值?
我需要在matlab中找到具有相同标签的值中的最大值,并且我试图避免使用for循环.
具体来说,我有一个L标签数组和一个V相同大小的值数组.我需要生成一个数组S,其中包含每个值L的最大值V.一个例子将更好地解释:
L = [1,1,1,2,2,2,3,3,3,4,4,4,1,2,3,4]
V = [5,4,3,2,1,2,3,4,5,6,7,8,9,8,7,6]
Run Code Online (Sandbox Code Playgroud)
然后,输出数组S的值将是:
s(1) = 9 (the values V(i) such that L(i) == 1 are: 5,4,3,9 -> max = 9)
s(2) = 8 (the values V(i) such that L(i) == 2 are: 2,1,2,8 -> max = 8)
s(3) = 7 (the values V(i) such that L(i) == 3 are: 3,4,5,7 -> max = 7)
s(4) = 8 (the values V(i) such that L(i) == …Run Code Online (Sandbox Code Playgroud)