24小时热门版块排行榜    

查看: 568  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lingsx

木虫 (正式写手)

[求助] matlab编程问题

建立了一个含有N个元素的三维数组,想随机的把其中20%*N个元素的值变为零,请问用Matlab怎么实现呢,请各位大神帮忙!
回复此楼

» 收录本帖的淘帖专辑推荐

matlab学习

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

叶奇芳

禁言 (初入文坛)

jjdg: 应助指数-1, 屏蔽内容 2013-07-24 09:28:47
本帖内容被屏蔽

4楼2013-07-24 09:20:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

somomo91

专家顾问 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-07-24 09:27:43
jjdg: 编辑内容 2013-07-24 09:28
这个问题,可以用笨办法慢慢解决
但是,也可以用MATLAB的一个函数 datasample ,更简洁
这你好运!
=========================
CODE:
clear; close all; clc
n = 10;
m = ones(n, n, n);
N = length(m( : ));
mTemp = reshape(m, 1, N);

[m1,idx] = datasample(mTemp, round(N*0.2));
mTemp(idx) = 0;
mNew = reshape(mTemp, n, n, n);

=========================
mNew 是经过替换后的新 m

[ Last edited by jjdg on 2013-7-24 at 09:28 ]
2楼2013-07-23 20:24:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lingsx

木虫 (正式写手)

引用回帖:
2楼: Originally posted by somomo91 at 2013-07-23 20:24:40
这个问题,可以用笨办法慢慢解决
但是,也可以用MATLAB的一个函数 datasample ,更简洁
这你好运!
=========================
clear; close all; clc
n = 10;
m = ones(n, n, n);
N = length(m( : ));
mT ...

感谢帮助,怎么送你金币啊,系统自动送么?
3楼2013-07-23 22:00:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见