【发布时间】:2017-06-23 09:48:17
【问题描述】:
我有一个 Java 代码,我想翻译成 Matlab 代码。是否有任何特定的方法可以自动执行此操作?
这是我必须翻译的 Java 代码:
public static void main(String[] args) {
double[] v1={1, 1.5, 2, 2.3, 3, 3.4};
double[] v2={1.2, 1.3, 1.5, 2, 2.4, 3.1, 3.3, 3.5, 3.9, 4, 5.1, 5.6};
int[] v;
v = calcolate(v1,v2);
int i;
for(i=0; i<v.length; i++)
System.out.println(v[i]);
}
private static int[] calcolate(double[] v1, double[] v2){
int i, j;
int[] v = new int[v1.length];
for(i=0; i<v1.length; i++){
boolean found = false;
for(j=0; j<v2.length; j++){
if(v1[i]<=v2[j] && !found){
v[i] = j;
found = true;
}
}
}
return v;
}
代码的输出是:
0
2
3
4
5
7
这是向量v。它包含向量v2 的索引,对应向量v2 中大于或等于向量v1 的每个元素的元素。
如果我不能自动完成,Matlab 中有什么函数可以用来比较两个不同长度的向量吗?
【问题讨论】: