最近在使用MATLAB进行编程的时候用到了yalmip工具箱,关于yalmip工具箱的作用详情请浏览Yalmip官网这里不再赘述,针对编程时的语言问题我想讲几点:
1.在编写约束条件时可以通过矩阵操作代替for循环可节省时间,例如:
constraints=[];
A=sdpvar(10,1);
%% 方法一
for a=1:10
constraints=[constraints,0<=A(a,1)<=6];
end
%% 方法二
constraints=[constraints,0<=A(:)<=6];
2.如果想要设置的决策变量矩阵是方阵,应当注意,yalmip默认创建的为对称型,若想创建全变量矩阵则需要加‘full’,例如:
第一与第三次创建的A矩阵均为对称型,变量只有10个而不是16个,第二次创建的矩阵为非对称型,变量为16个,注意语句具体用法。
3.决策变量矩阵能够重载,也就是说决策变量矩阵能够相互赋值,例如:
其中矩阵B为8*8矩阵共64个元素,但其实是由矩阵A中的8个变量构成的 ,是由8个相同的列向量构成。
更多相关问题可扫描下方二维码寻找客服免费咨询。