MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 114|回复: 2|关注: 0

[已解决] 【已解决】请问列向量怎么转换成matlab下三角矩阵

[复制链接]

新手

14 麦片

财富积分


050


4

主题

15

帖子

0

最佳答案
发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 烈羽 于 2017-12-6 22:03 编辑

请问matlab下三角矩阵(包括0,但不包括对角线,)怎么转换成列向量
比如一个矩阵L
0 0 0 0 0
0.2 0 0 0 0
0 0.3 0 0 0
0.3 0 0.4  0 0
0 0.1 0 0 0
怎么把下三角矩阵放到一个列向量里?
a= L(:)是把所有的值都放进来了
怎么可以只放下三角矩阵?就是我想要的结果是 a=0.2 0 0.3 0.3 0 0.4 0 0.1 0 0
谢谢

找到了解决办法:
%// Mask of lower triangular elements
mask = tril(true(size(a)),-1)

%// Use mask to select lower triangular elements from input array
out = a(mask)


现在新的问题是:
我其他操作完成了,然后怎么把这个新生成的向量再转回成下三角矩阵?~~~~~

已解决:
b=zeros(116);
bw=true(166);
b(triu(bw,1))=out;

好了,今天工作结束,加鸡腿

新手

14 麦片

财富积分


050


4

主题

15

帖子

0

最佳答案
 楼主| 发表于 5 天前 | 显示全部楼层
找到了解决办法:
%// Mask of lower triangular elements
mask = tril(true(size(a)),-1)

%// Use mask to select lower triangular elements from input array
out = a(mask)

新手

14 麦片

财富积分


050


4

主题

15

帖子

0

最佳答案
 楼主| 发表于 5 天前 | 显示全部楼层
自己不能设置自己的为最佳答案?:L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

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