matlab关于随机矩阵的问题
生成在(-10,10)之间均匀分布的10行、10列的随机矩阵。并将该矩阵元素精确到小数点后一位。(注:随机矩阵是指矩阵中的元素都随机生成,但每行的元素的和都为1.)...
生成在(-10, 10)之间均匀分布的10行、10列的随机矩阵。并将该矩阵元素精确到小数点后一位。(注:随机矩阵是指矩阵中的元素都随机生成,但每行的元素的和都为1.)
展开
2014-11-15
展开全部
这里精确到后四位简单,难点是必须精确到后一位,用round还是floor都会有误差,这样就无法保证每一行元素和都为1
A=10-round(100*rand(10,10))/5;
for i=1:10
B(i,:)=round(10*A(i,:)/sum(A(i,:)))/10;
end
A=10-round(100*rand(10,10))/5;
for i=1:10
B(i,:)=round(10*A(i,:)/sum(A(i,:)))/10;
end
追问
如果不考虑精度 可以保证每行元素和为1吗
追答
当然可以!
A=rand(10,10);
for i=1:10
B(i,:)=A(i,:)/sum(A(i,:));
end
矩阵B即为所求,满意请采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询