如何归一化一个均匀分布的随机值,使X(:,:,i)的每一行和都应该是1,除了第i行?

1次观看(过去30天)
X = rand([6,3,6]);
如何归一化一个均匀分布的随机值,使X(:,:,i)的每一行和都应该是1,除了第i行?

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月16日
X = rand([6,3,6]);
Xn = X ./ sum(X,2);
i = 1: min(size(X,1),size(X,3))
Xn(i,:,i) = X(i,:,i);
结束
可以 没有循环就能完成吗?可能。不使用循环值得吗?这一点尚不清楚。
6个评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年9月29日
我需要X(:,:,i)的每一行和都应该是1,除了第i行。
代码已经做到了。sum(Xn(:,:,1),2)除第一行外均为1,sum(Xn(:,:,2),2)除第2行外均为1。
第i行应该来自用户的选择。
用户的选择和它有什么关系?
您的要求是所有行的和应该为1 除了 X(1,:,1), X(2,:,2), X(3,:,3), X(4,:,4)
如果i=3,那么所有矩阵中的所有行都应该是1,除了第3行……
不,这与您之前的要求相矛盾,即X(:,:,i)的每一行和都应该是1,除了第i行。在i = 3的情况下,你的要求是X(:,:,3)的每一行和都应该是1,除了第3行X(3,:,3) 除第三行外,所有矩阵的和都应为1,例如X(3,:,2)。
如果你要求X(:,:,:)的每一行和都是1,除了用户选择的第i行,那么这将是一个不同的问题。

登录评论。

更多答案(0)

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!