声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2643|回复: 3

[编程技巧] 如何把文本文件中的稀疏矩阵输入到matlab中

[复制链接]
发表于 2011-7-1 18:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求帮助,如何把文本文件(.txt)中的矩阵元素如下(行标,列标,元素),输入matlab中形成矩阵
1 1  1.9316064083150e+06
3 1 -1.0216565407790e+05
4 1 -3.5568909942140e+04
5 1 -1.0695879918790e+05
6 1 -1.6583522345160e+05
7 1 -7.1784525340250e+02
8 1 -1.0695879918790e+05
9 1 -5.2546272549110e+03
2 2  1.0000000000000e+00
3 3  1.9314686157570e+06
4 3  1.6578725105670e+05
5 3 -1.0695879918800e+05
6 3  3.5568909942150e+04
8 3  8.8998505440940e+04
9 3 -1.8286539894750e+06
4 4  5.2792612281090e+08
5 4  8.1651795296010e+05
6 4  1.2131131189280e+07
8 4 -2.5441449598180e+06
9 4 -1.2498769196930e+05
5 5  2.4658226709700e+08
6 5  -5.2546272549110e+03
7 5 -5.3433972325360e+04
8 5 -5.2515091336170e+05
9 5  3.5568909942140e+04
6 6 -4.3494371809230e+04
7 6 -3.5544931832530e+04
8 6  5.4925592696980e+06
9 6 -1.8572438597490e+06
7 7 7.7688713061220e+06
8 7 -1.8286539894750e+06
9 7 -8.8998505440940e+04
8 8 -1.2498769196950e+05
9 8 -1.0223457358720e+05
9 9 -1.6673493328340e+05
先谢谢
回复
分享到:

使用道具 举报

发表于 2011-7-2 00:46 | 显示全部楼层
回复 1 # mengmeng-erni 的帖子

矩阵若不大的话, 这样较清楚
  1. clc; clear; aa=load ('zzz.txt');
  2. nrow=max(aa(:,1)); ncol=max(aa(:,2)); nn=length(aa(:,3));
  3. bb=zeros(nrow,ncol);
  4. for k=1:nn, bb(aa(k,1),aa(k,2))=aa(k,3); end
复制代码
矩阵若大的话, 优化去for loop
  1. clc; clear; aa=load ('zzz.txt');
  2. nrow=max(aa(:,1)); ncol=max(aa(:,2)); bb=zeros(nrow,ncol);
  3. bb((aa(:,2)-1)*nrow+aa(:,1))=aa(:,3);
复制代码

评分

1

查看全部评分

发表于 2011-7-3 13:59 | 显示全部楼层
  1. doc spconvert
复制代码

评分

1

查看全部评分

发表于 2011-7-3 14:50 | 显示全部楼层
回复 3 # rocwoods 的帖子

稀疏矩阵个人很少使用, 昨天没仔细搜索到相关函数, 谢谢告知!
刚看了下, LZ或许是要这函数
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 07:44 , Processed in 0.076282 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表