24小时热门版块排行榜    

查看: 798  |  回复: 10

WOADD

新虫 (正式写手)

[求助] matlab程序求助 已有2人参与

有一个30986*11的矩阵,前三列是年月日,后面八列是数据,我想对数据进行筛选,找出大于等于六的数据,然后把这些数据以及它们对应的年月日输出。因为刚开始写程序,昨天熬了一夜,才总算把数据读好,处理好,但是还是筛选不出来,输出的都是零。各位大神,谁能帮我看看,不胜感激。

发自小木虫Android客户端
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

ansen_J

木虫 (小有名气)

【答案】应助回帖

m_year = 2016.*ones(10,1);
m_month = 12.*ones(10,1);
m_day = [1:10].';

m_data = round(10.*rand(10,8));

m_Matrix = [m_year.';m_month.';m_day.';m_data.'].';  % 组成一个10*11的矩阵

% 开始进行筛选
m_part_Matrix = m_Matrix(:,4:end);

m_result_of_data_index = m_part_Matrix >= 10;               % 找到数据矩阵中大于等于6的位置
m_result_of_data = m_result_of_data_index.*m_part_Matrix;
m_result_of_data_index = any(m_result_of_data_index.');     % 找到大于等于6矩阵中,任何一行存在的条件
m_result_of_date = m_Matrix(m_result_of_data_index,1:3);

这是一个示例程序,希望你得到启发
9楼2016-12-10 21:33:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

WOADD

新虫 (正式写手)

怎么没人回答,紧急求助

发自小木虫Android客户端
2楼2016-12-07 20:54:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liupw789k

金虫 (小有名气)

循环后八列,判断大于6的那一行,对应输出该行前3列不就可以了!不过这么大的数据量,不知道matlab要算多长时间啊!!!

发自小木虫Android客户端
Purescienceissomethingworththinkingabout!
3楼2016-12-07 21:33:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WOADD

新虫 (正式写手)

引用回帖:
3楼: Originally posted by liupw789k at 2016-12-07 21:33:53
循环后八列,判断大于6的那一行,对应输出该行前3列不就可以了!不过这么大的数据量,不知道matlab要算多长时间啊!!!

运算很快,就是语句不会写,刚学matlab

发自小木虫Android客户端
4楼2016-12-07 23:45:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

不觉春深

木虫 (正式写手)

木木虫

纵使十年不将军,不可一日不拱卒。
5楼2016-12-08 00:08:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WOADD

新虫 (正式写手)

引用回帖:
5楼: Originally posted by 不觉春深 at 2016-12-08 00:08:50
上数据啊

明天吧,刚开始学,真心不会

发自小木虫Android客户端
6楼2016-12-08 00:52:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
祝福
7楼2016-12-08 01:54:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
X = [1 0 2; 0 1 1; 0 0 4]
k = find(X)
k2 = find(~X)

https://www.mathworks.com/help/matlab/ref/find.html
8楼2016-12-09 07:26:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WOADD

新虫 (正式写手)

引用回帖:
9楼: Originally posted by ansen_J at 2016-12-10 21:33:28
m_year = 2016.*ones(10,1);
m_month = 12.*ones(10,1);
m_day = .';

m_data = round(10.*rand(10,8));

m_Matrix = .';  % 组成一个10*11的矩阵

% 开始进行筛选
m_part_Matrix = m_Matrix(:,4:end);

...

谢谢同学。非常感谢。

发自小木虫Android客户端
10楼2016-12-11 10:30:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 WOADD 的主题更新
信息提示
请填处理意见