Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2011-05-07, 15:27   #1
yazh90
初级会员
 
注册日期: 2011-04-26
帖子: 2
声望力: 0
yazh90 正向着好的方向发展
默认 有人研究最大方差展开算法的没

function [Y, K, eigVals, sdeScore] = sde(A, neighbors, targetd)

% Calculate constraints
N = length(A);

G = convertAffinityToDistance(A);

params.printlevel=1;
params.maxiter=100;

%distances = Bn;
[irow1, icol1] = find(neighbors==1);
%[m,n] = size(irow1)
numConstraints1 = length(irow1);
%numConstraints2 = length(icol1)
AA = sparse(numConstraints1, N*N);
bb = zeros(numConstraints1, 1);

for i=1:numConstraints1
AA(i, (irow1(i) - 1)*N + irow1(i)) = 1;
AA(i, (icol1(i) - 1)*N + icol1(i)) = 1;
AA(i, (irow1(i) - 1)*N + icol1(i)) = -1;
AA(i, (icol1(i) - 1)*N + irow1(i)) = -1;
bb(i) = G(irow1(i), icol1(i));
end
%[m,n] = size(AA)
% make all the constraints unique
[b, m, n] = unique(AA, 'rows');
A = AA(m, ;
b = bb(m);


% add constraint that points must be centered
%ones(1,N^2)
A=[ones(1,N^2);A];
%sum(A)
b=[0;b];
i=[1;i];
%length(i)

% new objective function
cc = eye(N);
%length(cc()
c=0-cc(;


flags.s=N;
flags.l=0;
OPTIONS.maxiter=params.maxiter;
OPTIONS.printlevel=params.printlevel;
[x d z info]=csdp(A,b,c,flags,OPTIONS);
csdpoutput=reshape((x(flags.l+1:flags.l+flags.s^2)), N, N);


K = csdpoutput;
为啥要进行红色那部分处理呢?可以加qq:274911560
yazh90 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:35


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.