嗨,我有一个296x6矩阵
normalimpact,
我想给矩阵的每一列随机分配权重,做一些评分和排名操作,并对特定数量的试验(比如10次)重复这个操作,并输出每次试验的结果(列向量)
RankOfNode)
作为矩阵中的列。每次迭代的结果
Rankofnode.
)应该是最终矩阵中的自己的栏。
我只是对如何实现这个代码运行次数的索引感到困惑,因为已经有很多for循环和索引了。
normalimpact = horzcat(IrmantPowern1f,dranolictn1f,uscorpowern2f,dranolictn2f,rsormpowern3f,dranolictn3f);
重量=兰德(1,6);
重量=权重/和(重量);
Normalimpactw = bsxfun(@times, normalimpact, weights);
max_vals = max (normalimpactw);
Dplus =零(尺寸(厘法,1),1);
为了II = 1:尺寸(厘米厘米,1)
dplus(ii,:) = sqrt(sum([numalimpactw(ii,:) - max_vals]。^ 2));
结尾
dplus;
min_vals = min (normalimpactw);
Dminus =零(尺寸(厘法,1),1);
为了II = 1:尺寸(厘米厘米,1)
Dminus(ii,:) = sqrt(sum([numalimpactw(ii,:) - min_vals]。^ 2));
结尾
Dminus;
Sscore = 0(大小(Dminus, 1), 1);
为了n = 1:296
Sscore (n:) = Dminus (n:) / (Dminus (n:) + Dplus (n,:));
结尾
[〜,等级] = ismember(sscore,sort(score,“下降”));
RankOfNode =等级;