多维缩放法(MDS)------- 自写MATLAB函数

function MDSMat = MyMDS(DMat, k)
%%%%参数 DMat 为距离(或相似度)矩阵
%%%%参数 k 为降维的目标维度

%%%%%%%%%%%%%%%%%%%%%%%%%%% example %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% D = [[0,587,1212,701,1936,604,748,2139,2182,543],
%     [587,0,920,940,1745,1188,713,1858,1737,597],
%     [1212,920,0,879,831,1726,1631,949,1021,1494],
%     [701,940,879,0,1374,968,1420,1645,1891,1220],
%     [1936,1745,831,1374,0,2339,2451,347,959,2300],
%     [604,1188,1726,968,2339,0,1092,2594,2734,923],
%     [748,713,1631,1420,2451,1092,0,2571,2408,205],
%     [2139,1858,949,1645,347,2594,2571,0,678,2442],
%     [2182,1737,1021,1891,959,2734,2408,678,0,2329],
%     [543,597,1494,1220,2300,923,205,2442,2329,0]];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % % % % % Y1 = -mdscale(D,2);  %%%Matlab 内置函数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

DSquare = DMat.^2;  
m = size(DSquare,1);
%求各行的和
for i = 1:m
    DSqu
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值