全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
10196 5
2011-01-12
请教一下,怎样求 min x'*A*x, 这里x是列向量,x'表示x的转置, 矩阵A已知,在matlab中可以用什么函数或是用什么方法求得向量x呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-1-12 15:55:42
fmincon函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-12 19:58:09
2# ariszheng

我的代码是这样的:

                    w0 = ones(1,22)./22;

                    [w, fval] = fmincon(@ftn, x0, [], [], [], [], [], [],  'fcon');

求解方程的函数:w是要求解的,为1x22的向量;U已知,是22x22的向量。
'ftn.m'
function f = ftn(w)
f = w * U * w';

约束条件的函数:
约束是每个w(i)的绝对值<=1,并且w(i)加和为1

'fcon.m'
function [c,ceq] = fcon(w)

N = length(w);
c = [];

for i = 1:N
    c = [c, abs(w(1,i))-1];
end;

ceq = sum(abs(w(1,:)))-1;

奇怪的是初始值赋什么值,计算的w就是什么值,也就是说,w=w0. 有没有高人能告诉我哪里出问题了呢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-13 10:03:08
这个实际上是一个二次规划 你用二次规划的函数就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-1-13 10:14:14
4# liuxin9023

二次规划的函数是什么啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-5 09:33:59
用黄金非分割法或者二次插值法
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群