繁体   English   中英

函数(matlab)中for循环内的未定义函数或变量

[英]Undefined function or variable inside a for loop within a function (matlab)

我编写了一个函数,使用for循环计算肯德尔距离

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使用相同的()访问数组元素并提供函数自变量,因此会产生未定义的函数错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM