24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1924  |  回复: 11

lixingxing46

新虫 (小有名气)

[求助] matlab中数值转为矩阵形式

大家好,比如说,图中红色部分是某一行中的第12、226、327、421、569、836、1082列对应的位置为1,其余列对应的位置全为0。那么在matlab中如何将所有的这些对应数值{0,1}转换为一个11x1101矩阵形式啊(如图所示),(矩阵中只有0或者1),求大神赐教!!!

matlab中数值转为矩阵形式
juzhen.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

somomo91

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lixingxing46: 金币+20, ★★★★★最佳答案 2017-05-15 16:12:49
CODE:
matrix_index = {{9,69,169,186,261,317,327,768,989,994,1088}
{21,137,291,675,712,1088}
{3,12,13,251,420,425,513,602,757,793,820,848,872,873,951,956}
{8,483,618,730,741,958,1031,1036,1062,1088}
{12,226,327,421,569,836,1082}
{17,21,84,286,292,511,646,813,839,989,1028,1036,1088}
{21,102,122,146,452,515,623,951,1088}
{3,19,83,407,457,543,585,800,890,1046,1088}
{13,219,221,376,379,412,464,662,667,674,690,844,984,1023,1088}
{5,29,81,255,257,258,658,702,923,967,1010,1088}
{17,73,84,102,201,512,558,616,668,669,813,1088}};

matrix_binary = zeros(11,1101);
for i = 1:11
    matrix_binary(i,cell2mat(matrix_index{i})) = 1;
end

2楼2017-05-14 06:30:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

引用回帖:
5楼: Originally posted by lixingxing46 at 2017-05-15 09:32:20
可以帮我看看吗?上传的文件是在网上下的一个公开的数据集,如何用fread来读取,如何在matlab中生成之前所说的矩阵呢?谢谢啊!...

好吧,才注意到是 Python 语言,那就没错的
Python : 0 +
Matlab : 1 +
7楼2017-05-15 15:14:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lixingxing46

新虫 (小有名气)

引用回帖:
2楼: Originally posted by somomo91 at 2017-05-14 06:30:33
matrix_index = {{9,69,169,186,261,317,327,768,989,994,1088}
{21,137,291,675,712,1088}
{3,12,13,251,420,425,513,602,757,793,820,848,872,873,951,956}
{8,483,618,730,741,958,1031,1036,1062,1088}
{ ...

谢谢大神,那如果说有三千多行,一千多列的矩阵,怎么办呢?因为这个图我只是截的其中一部分,应该不会要把每行都这样写呀,估计也行不通,还望大神赐教,谢谢!
3楼2017-05-14 08:56:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

引用回帖:
3楼: Originally posted by lixingxing46 at 2017-05-14 08:56:49
谢谢大神,那如果说有三千多行,一千多列的矩阵,怎么办呢?因为这个图我只是截的其中一部分,应该不会要把每行都这样写呀,估计也行不通,还望大神赐教,谢谢!...

多少行没有任何关系,可以用 fread 读取那个文件来处理,
4楼2017-05-14 16:50:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixingxing46

新虫 (小有名气)

引用回帖:
4楼: Originally posted by somomo91 at 2017-05-14 16:50:12
多少行没有任何关系,可以用 fread 读取那个文件来处理,...

可以帮我看看吗?上传的文件是在网上下的一个公开的数据集,如何用fread来读取,如何在matlab中生成之前所说的矩阵呢?谢谢啊!

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Slash.docx
  • 2017-05-15 09:30:39, 92.41 K
5楼2017-05-15 09:32:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

引用回帖:
5楼: Originally posted by lixingxing46 at 2017-05-15 09:32:20
可以帮我看看吗?上传的文件是在网上下的一个公开的数据集,如何用fread来读取,如何在matlab中生成之前所说的矩阵呢?谢谢啊!...

https://www.sendspace.com/file/xsghd8
这个是转换完的,
原始数据应该是从其他语言导出的,因为 index 起始值为 0,MATLAB 是从 1 开始,
所以在原始值 + 1
6楼2017-05-15 15:13:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixingxing46

新虫 (小有名气)

引用回帖:
7楼: Originally posted by somomo91 at 2017-05-15 15:14:55
好吧,才注意到是 Python 语言,那就没错的
Python : 0 +
Matlab : 1 +...

非常感谢啊!!!
8楼2017-05-15 16:13:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lixingxing46

新虫 (小有名气)

引用回帖:
7楼: Originally posted by somomo91 at 2017-05-15 15:14:55
好吧,才注意到是 Python 语言,那就没错的
Python : 0 +
Matlab : 1 +...

对整个数据转换,有相应的matlab代码吗,怕万一以后又遇到这种情况,可以发一份到我邮箱吗?邮箱:1060197764@qq.com  非常谢谢
9楼2017-05-15 16:16:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

引用回帖:
9楼: Originally posted by lixingxing46 at 2017-05-15 16:16:59
对整个数据转换,有相应的matlab代码吗,怕万一以后又遇到这种情况,可以发一份到我邮箱吗?邮箱:1060197764@qq.com  非常谢谢...

没什么代码,就是上面的那个
主要是这个数据,得先剔除 “ 1”,然后才能继续。
你可以用基本的文本替换,也可以用正则表达式,等等,Matlab, Python,或者其他 文本编辑器都可以
10楼2017-05-15 19:55:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lixingxing46 的主题更新
信息提示
请填处理意见