[英]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.