如何设置非lsqlin减少输出?

1视图(30天)
我在利用lsqlin线性适合一些林业数据,同时应用两种约束模型的输出。我有向量的树冠覆盖率的百分比在不同高度组装成一个矩阵[m(情节)x n(百分比覆盖率高本k))作为输入自变量,以及模型的目的是预测地面生物量测量在一个向量的长度测量图。我的两个约束条件,输出是0在位置0,x(0) = 0,输出被引入。
目前尚不清楚的文档lsqlin如何设置这些限制。我用反斜杠符和lsqnonneg创建简单的模型,但他们没有添加这些约束的能力,我发现。

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2018年5月29日
你的矩阵 一个 [m x n] 。因此你的解决方案 x 将会有 [n x 1] 维度。您可以应用这些约束等式和不等式约束使用遵循
1) 约束, x (1) = 0 (注意在MATLAB索引从1开始),是一样的
1 * x (1) x (2) + 0 + 0 * * x (3) +。+ 0 * x (n) = 0
这就变成了
Aeq = [1 0 0。0);% n - 1 0
说真的= 0;
2) 现在来到不等式约束,你需要
(2)> x (1)
x (3) > (2)
x (n) > (n - 1)
相当于
x (1) - (2) < 0;
(2)- x (3) < 0;
x (n - 1) - (n) < 0;
在这些约束矩阵
= [1 1 0 0。0;%填补与0等于n总列
0 1 1 0。0;
0 0 1 1。0;
0 0。0 1 1];%将形成n - 1行
B = [0;
0;
0;
0);% n - 1行
但这些矩阵 一个 , b , Aeq 说真的 lsqlin () 解决约束问题
2的评论

登录置评。

更多的答案(0)

s manbetx 845


释放

R2016b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!