PDA

查看完整版本 : [MATLAB数学相关] 优化求指导


irisjyf
2009-12-27, 12:36
问题如下图描述。
我想指导我是应该用无约束优化问题还是用线性规划求解,真不知道如何下手这个问题

anbcjys
2009-12-28, 11:37
可以采用matlab自带函数求解 也可以用群算法优化

yhcode
2009-12-28, 15:40
看看fmincon这个函数,matlab自带的。

irisjyf
2009-12-31, 15:58
感谢上面热心人的知道。
上面的建议我觉得不适用我的问题,方程中x是没有约束的,只有b有约束b>0,所以采用无约束问题求解。
下面的程序是我写的f函数:
就是求f=f+(b(i)-b(i+1))*(b(i)-b(i+1))的最小值问题,由于方程数目太多,i=127,所以上面的方程生成,只能用编程,下面的程序是我用matlab编的可是在用无约束优化求解时不能求
不知道如何做?
function f=myfun(x)
A=importdata('A.txt')
[m,n]=size(A);
x=sym(ones(1,n));
for i=1:n
x(i)=['x(' num2str(i) ')'];
end
x=x.'
[m,n]=size(A)
A=A*x;
f3=0;
for i=1:m-1
f3=f3+(A(i)-A(i+1))*(A(i)-A(i+1));
end
f=f3;
可是应用fminsearch()函数有错误,不理解为什么

irisjyf
2009-12-31, 16:03
感谢上面热心人的知道。
上面的建议我觉得不适用我的问题,方程中x是没有约束的,只有b有约束b>0,所以采用无约束问题求解。
下面的程序是我写的f函数:
就是求f=f+(b(i)-b(i+1))*(b(i)-b(i+1))的最小值问题,由于方程数目太多,i=127,所以上面的方程生成,只能用编程,下面的程序是我用matlab编的可是在用无约束优化求解时不能求
不知道如何做?
function f=myfun(x)
A=importdata('A.txt')
[m,n]=size(A);
x=sym(ones(1,n));
for i=1:n
x(i)=['x(' num2str(i) ')'];
end
x=x.'
[m,n]=size(A)
A=A*x;
f3=0;
for i=1:m-1
f3=f3+(A(i)-A(i+1))*(A(i)-A(i+1));
end
f=f3;
可是应用fminsearch()函数有错误,不理解为什么

上面的A.txt文件是A矩阵的存储文件,我用的例子为
A =

1 2 3 4
2 3 2 5
1 7 8 9
2 10 2 1