我有一個Java代碼,我想轉換成Matlab代碼。有沒有特別的方法可以自動執行?如何將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
的索引,對應於大於或等於矢量v1
的每個元素的矢量v2
的元素。
如果我不能自動做到這一點,是否有Matlab中的任何函數可以用來比較兩個長度不同的向量?