Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 最大最小距离计算_Matlab_Cluster Computing_Distance - Fatal编程技术网

Matlab 最大最小距离计算

Matlab 最大最小距离计算,matlab,cluster-computing,distance,Matlab,Cluster Computing,Distance,我在数据上使用了“最大-最小距离”度量,但我发现一个错误是索引超过了矩阵维度 我使用的代码是: clc; clear all; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% numRows = 100; A = rand(numRows, 2); %// Example of input matrix cent= [ 2.2 3.1; 4.5 5.1]; d

我在数据上使用了“最大-最小距离”度量,但我发现一个错误是索引超过了矩阵维度

我使用的代码是:

clc;
clear all;
close all; 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
numRows = 100;
A = rand(numRows, 2);      %// Example of input matrix
cent= [ 2.2  3.1; 4.5 5.1];
d= [];
sizeX = size(A,1);
numofC = size(cent,1);

for  i = 1 : sizeX
  for j = 1:numofC
    A= max(cent(j,:),A(i,:));
    B = min(cent(j,:),A(i,:));
  end 
    dist(i)= sum(B)/sum(A)   
 end 

请提供任何帮助

您会收到此错误,因为尽管您有输入矩阵
A
,但您试图将
max(cent(j,:),A(i,:)
分配给同一变量
A
,从而覆盖内容。循环中的
A
的后续调用将尝试调用第一次通过循环时重写的元素

我对你的代码做了一些修改;例如,您也没有名为
dist
的矩阵

clc;
clear;
close all; 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
numRows = 100;
A = rand(numRows, 2);      %// Example of input matrix
cent= [ 2.2  3.1; 4.5 5.1];
sizeX = size(A,1);
numofC = size(cent,1);
dist= zeros(numRows,1);


for  i = 1 : sizeX
    for j = 1:numofC
        X = max(cent(j,:),A(i,:));
        Y = min(cent(j,:),A(i,:));
        dist(i)= sum(X)/sum(Y)   
    end
end

您可能应该使用
numel
而不是
size
,因为您的输入很可能是行向量,并且它们在第一维度中的
size
将为1。另外,由于没有存储
A
B
,所以只考虑循环的最后一次迭代。我不能提供一个解决方案,因为不清楚你到底在做什么。什么是错误的结果?你打错号码了吗?你到处都有猫的照片吗?请详细说明您的问题。我已更改代码,错误是我没有得到任何结果,它是0,1@Suever大小将返回100 sizeX=大小(A,1);它不是1??