matlab距离判别法代码实现
时间: 2024-08-17 13:01:43 浏览: 37
MATLAB中可以使用多种距离计算方法来进行数据集之间的比较,比如欧几里得距离、曼哈顿距离等。以下是使用内置函数实现两个向量之间欧氏距离的一个简单示例:
```matlab
% 定义两个向量
vector1 = [1 2 3];
vector2 = [4 5 6];
% 欧氏距离计算
distance = norm(vector1 - vector2);
% 显示结果
disp(['Euclidean distance between vectors: ', num2str(distance)])
```
如果你想要一个通用的距离函数库,你可以创建一个自定义函数,如下所示:
```matlab
function distance = calculate_distance(method, vector1, vector2)
if strcmpi(method, 'euclidean')
distance = norm(vector1 - vector2);
elseif strcmpi(method, 'manhattan')
distance = sum(abs(vector1 - vector2));
% 添加更多距离度量方法...
else
error('Invalid distance method');
end
end
% 使用方法
method = 'euclidean'; % 或者'manhattan'
vector1 = [1 2 3];
vector2 = [4 5 6];
distance = calculate_distance(method, vector1, vector2);
disp(['Distance using ' method ': ', num2str(distance)])
```
阅读全文