matlab求解有约束的矩阵方程(有约束线性最小二乘)

有约束线性最小二乘

有约束线性最小二乘问题的数学描述:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中C、A和Aeq是矩阵,d、b、beq、lb、ub、x为向量。
在MATLAB中用lsqlin函数求有约束线性最小二乘解,具体用法如下:
1.x=lsqlin(C,d,A,b):求解最小二乘意义上的线性系统Cx=d,约束条件为AX<=b.
2.x=lsqlin(C,d,A,b,Aeq,beq):加上等式约束Aeq*x=beq以后求解上面的问题,如果没有等式约束,则令A=[];b=[];
3.x=lsqlin(C,d,A,b,Aeq,beq,lb,ub):为x定义一系列下界lb和上界un,使得总有lb<=x<=ub。
例题:
求解下列问题的最小二乘解。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C = [0.9501  0.7620  0.6153  0.4057 
0.2311  0.4564  0.7919  0.9354 
0.6068  0.0185  0.9218  0.9169 
0.4859  0.8214  0.7382  0.4102
0.8912  0.4447  0.1762  0.8936];
d = [0.0578; 0.3528; 0.8131; 0.0098; 0.1388];
A = [0.2027  0.2721  0.7467  0.4659;
0.1987  0.1988  0.4450  0.4186
0.6037  0.0152  0.9318  0.8462];
b = [0.5251; 0.2026; 0.6721];
lb = -0.1*ones(4,1);
ub = 2*ones(4.1);
Aeq = [];beq = [];b = [];
x=lsqlin(C,d,A,b,Aeq,beq,lb,ub)

求解得到
x = -0.100;-0.100;0.2152;0.3502

参考文献

MATLAB 2010 从入门到精通. 张琨 高思超 毕靖

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值