24小时热门版块排行榜    

查看: 1754  |  回复: 8

张丹枫1991

木虫 (职业作家)

[求助] matlab范数最小化的方法 已有2人参与

楼主是做控制理论的,推了一个结论当一个目标矩阵为0时(目标矩阵S=A+B*(C+D)。其中ABC已知,D未知),系统有良好的跟踪性能。现在S=0无解,能不能最小化S的1范数,使S近似等于0。从而解出D矩阵。如果这个想法可行的话,应该怎么通过matlab实现呢。求大神指教。

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

catbin

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
对于一般情况,没必要用1范数这种不光滑的范数,除非矩阵A, B, C里面的噪音非高斯。最直接的方法是用Frobenius范数,矩阵的Frobenius范数等于各项平方和再开根号。如果你用这个范数,那么面对的最小化问题就是一个最小二乘的问题,有显示解。具体细节见附件。
matlab范数最小化的方法
推导.png

» 本帖已获得的红花(最新10朵)

静水流深
2楼2014-10-10 12:33:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

catbin

银虫 (小有名气)

引用回帖:
2楼: Originally posted by catbin at 2014-10-10 12:33:46
对于一般情况,没必要用1范数这种不光滑的范数,除非矩阵A, B, C里面的噪音非高斯。最直接的方法是用Frobenius范数,矩阵的Frobenius范数等于各项平方和再开根号。如果你用这个范数,那么面对的最小化问题就是一个最 ...

另外,如果你对D有先验的信息(比如列/行向量稀疏,本身稀疏,低秩等等),可以在最小二乘项以外加上对D的相应的正则项,这样可能会得到更理想的结果。
静水流深
3楼2014-10-10 12:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张丹枫1991

木虫 (职业作家)

送红花一朵
引用回帖:
2楼: Originally posted by catbin at 2014-10-10 12:33:46
对于一般情况,没必要用1范数这种不光滑的范数,除非矩阵A, B, C里面的噪音非高斯。最直接的方法是用Frobenius范数,矩阵的Frobenius范数等于各项平方和再开根号。如果你用这个范数,那么面对的最小化问题就是一个最 ...

多谢,好人

[ 发自小木虫客户端 ]
4楼2014-10-10 12:47:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aaron1988

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
转化成 LMIs 问题, 看 H-infinity
5楼2014-10-11 10:32:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张丹枫1991

木虫 (职业作家)

引用回帖:
5楼: Originally posted by aaron1988 at 2014-10-11 10:32:00
转化成 LMIs 问题, 看 H-infinity

啊哦,结论就是从H无穷推过来的,C矩阵是lmis解出来的。怎么转换回去啊,求详解

[ 发自小木虫客户端 ]
6楼2014-10-11 10:43:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongcailiu

金虫 (小有名气)

引用回帖:
6楼: Originally posted by 张丹枫1991 at 2014-10-11 10:43:48
啊哦,结论就是从H无穷推过来的,C矩阵是lmis解出来的。怎么转换回去啊,求详解
...

http://wenku.baidu.com/view/1aa9523e87c24028915fc334.html p16-p17,里面谈到的是有约束的0范数目标函数的求解,其中提到了它向1范数目标函数的转化的方法。
7楼2014-10-14 10:21:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aaron1988

木虫 (正式写手)

MATLAB有自带解LMI的工具箱叫LMI TOOLBOX。或者你可以看下YALMIP,是个可以解LMI的平台。
如果你使用yalmip, 解LMI并不是很复杂。
8楼2014-10-17 10:10:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aaron1988

木虫 (正式写手)

【答案】应助回帖

例如:
A = sdpvar(1); % A 是个变量
Const = A + 2> 0; % Const是个约束条件,例如LMI
A_min = solvesdp(Const, A); % solvesdp 是个解优化方程的function,换句话来说,这个function找最小的A来满足约束条件Const。
9楼2014-10-17 10:16:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 张丹枫1991 的主题更新
信息提示
请填处理意见