Matlab怎么解矩阵方程?
你好,想请问下这一步在Matlab怎么实现Σ已知,R已知,求X其中Σ是30x30的矩阵,X是1x30...
你好,想请问下这一步在Matlab怎么实现Σ已知,R已知,求X其中Σ是30x30的矩阵,X是1x30
展开
2个回答
展开全部
由于题主给出矩阵方程,由于该矩阵比较复杂,所以不用vpaslove函数来求解,可以考虑用极值方法来解决。解决方法:
1、创建自定义目标函数,fmincon_fun(X),即
y=X'*DR*X-(X'*R+5)^2/2.7225;
2、创建自定义约束条件函数,fmincon_con(X),即
c=[]; %不等式条件
ceq=X'*DR*X-(X'*R+5)^2/2.7225; %等式条件
3、确定X的初值,即
x0=rand(30,1);
4、确定X的上下限,如lb=zeros(30,1);ub=ones(30,1)*2;
5、使用fmincon函数求其X值,即
[X,fval,exitflag] = fmincon(@(X) fmincon_fun(X),x0,[],[],[],[],lb,ub,@(X) fmincon_con(X))
6、按上述思路编程,运行可以得到结果。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询