全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2218 4
2018-02-06
悬赏 50 个论坛币 已解决
求助~
  在随机生成符合泊松分布的随机数后,我把它们纳入进一个方阵

请问如何在matlab中 把这个矩阵的对角元换成0后

按一定比例(假设比例为a)将矩阵中的非0随机数  替换为0呢?

主要是以后用来  模拟替换数据后   某种算法的误差范围。

非常感谢各位~~!!!

最佳答案

lixuewei3 查看完整内容

先找到非0随机数的位置序号,假如说一个100个,那你可以用randi([1,100],4,5)随机生成4行5列个随机序号,将随机序号位置替换为0就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-2-6 14:24:40
先找到非0随机数的位置序号,假如说一个100个,那你可以用randi([1,100],4,5)随机生成4行5列个随机序号,将随机序号位置替换为0就可以了


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-6 14:25:12
假设这个方阵是n*n维的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-13 20:23:51
lixuewei3 发表于 2018-2-8 16:50
先找到非0随机数的位置序号,假如说一个100个,那你可以用randi([1,100],4,5)随机生成4行5列个随机序号,将 ...
你好
我是想要将矩阵里的一部分非零随机数换成0,比如替换百分之十的数据

所以请问这个比例替换 代码怎么写呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-14 09:10:51
liuzl434869604 发表于 2018-2-13 20:23
你好
我是想要将矩阵里的一部分非零随机数换成0,比如替换百分之十的数据
那你可以直接将生成的总数那里改成非零数目个数*0.1 不就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群