函数内for循环内的未定义函数或变量(matlab)
Undefined function or variable inside a for loop within a function (matlab)
我编写了一个函数来使用 for 循环计算 Kendall 距离
function [ distance ] = kendall_tau(y, yy, pair_list)
distance = 0;
for row = 1:length(pair_list)
i = pairlist(row,1);
j = pairlist(row,2);
if (y(i)<y(j))&&(yy(i)>yy(j)) || (y(i)>y(j))&&(yy(i)<yy(j))
distance = distance + 1;
end
end
当我用实际值尝试这个函数时,这个未定义的变量不断增加,我不知道为什么
kendall_tau(y_valid,y_valid_shuffle,pair_list_valid)
y_valid,y_valid_shuffle是150x1矩阵,pair_list_valid是978x2矩阵
Undefined function or variable 'pairlist'.
Error in kendall_tau (line 17)
i = pairlist(row,1);
我是 matlab 菜鸟。感谢您的帮助!
我觉得,很有可能是
i = pairlist(row,1);
应该是
i = pair_list(row,1);
打字错误,由于 MATLAB 使用相同的 () 来访问数组元素并提供函数参数,因此会出现未定义的函数错误。
我编写了一个函数来使用 for 循环计算 Kendall 距离
function [ distance ] = kendall_tau(y, yy, pair_list)
distance = 0;
for row = 1:length(pair_list)
i = pairlist(row,1);
j = pairlist(row,2);
if (y(i)<y(j))&&(yy(i)>yy(j)) || (y(i)>y(j))&&(yy(i)<yy(j))
distance = distance + 1;
end
end
当我用实际值尝试这个函数时,这个未定义的变量不断增加,我不知道为什么
kendall_tau(y_valid,y_valid_shuffle,pair_list_valid)
y_valid,y_valid_shuffle是150x1矩阵,pair_list_valid是978x2矩阵
Undefined function or variable 'pairlist'.
Error in kendall_tau (line 17)
i = pairlist(row,1);
我是 matlab 菜鸟。感谢您的帮助!
我觉得,很有可能是
i = pairlist(row,1);
应该是
i = pair_list(row,1);
打字错误,由于 MATLAB 使用相同的 () 来访问数组元素并提供函数参数,因此会出现未定义的函数错误。