Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-12-09, 21:14   #1
shenchenghit
初级会员
 
注册日期: 2010-12-05
帖子: 2
声望力: 0
shenchenghit 正向着好的方向发展
默认 如何利用matlab排列提取下面矩阵的元素,得到想要的矩阵

如何利用matlab排列提取下面矩阵的元素,得到想要的矩阵:
1,1,1,1,6.999999999999999e+009
1,6,1,1,4.857225732735061e-008
2,1,1,1,-6.999999999999999e+009
2,6,1,1,-4.857225732735061e-008
1,2,1,2,1.830769230769231e+009
1,6,1,2,9.153846153846153e+008
2,2,1,2,-1.830769230769231e+009
2,6,1,2,9.153846153846153e+008
1,6,1,6,1.041025641025641e+009
2,1,1,6,-4.857225732735061e-008
2,2,1,6,-9.153846153846153e+008
2,6,1,6,-1.256410256410256e+008
2,1,2,1,6.999999999999999e+009
2,6,2,1,4.857225732735061e-008
2,2,2,2,1.830769230769231e+009
2,6,2,2,-9.153846153846153e+008
2,6,2,6,1.041025641025641e+009

说明:
以上矩阵是由有限元软件输出的,故有一定的规则。目标矩阵(想要得到的6*6的矩阵)是一个对称矩阵,其中左下角(包含对角线)的非零元素由上面矩阵第五列组成。

具体规则如下:
先作如下规定:11——表示1, 12——表示2, 16——表示3,21—表示4, 22——表示5, 26——表示6
拿第一行元素来说,第一个、第二个元素为1和1,即为11,此时代表第五个元素在目标矩阵第1列,第三个和第四个元素也为1和1,即为11则代表第五个元素在目标矩阵的第一行,故6.999999999999999e+009为目标矩阵的第一行,第一列元素。
再拿最后一行元素来说,第一个、第二个元素为2和6,即为26,此时代表第五个元素在目标矩阵第6列,第三个和第四个元素也为2和6,即为26,则代表第五个元素在目标矩阵的第6行,故1.041025641025641e+009为目标矩阵的第6行,第6列元素。
其他类似。

不知道我说清楚了没有,希望高手帮个忙,非常感谢!
shenchenghit 当前离线   回复时引用此帖
旧 2010-12-11, 07:39   #2
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: 如何利用matlab排列提取下面矩阵的元素,得到想要的矩阵

用你的规则循环实现即可
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:35


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.