符号计算的话用symsum函数。比如求和∑1/n^2(n从1到k)
syms
n
k
>>
s=symsum(1/n^2,n,1,k)
s
=
-Psi(1,k+1)+1/6pi^2
再比如求和∑n^2(n从1到k)
syms
n
k
>>
s=symsum(n^2,n,1,k)
s
=
1/3(k+1)^3-1/2(k+1)^2+1/6k+1/6
s=simplify(s)
s
=
1/3k^3+1/2k^2+1/6k
而要用数值计算的话,应当用一个矩阵先把要求和的元素存起来,然后用sum函数。比如上面的两个例子
第一个为:
k=1000;
a=1/(1:k)^2%存储1,1/4,1/9,1/16
s=sum(a)
s
=
16439
第二个为:
k=1000;
a=(1:k)^2;%存储1,4,9,16
s=sum(a)
用lingo做了一下,很简单的
model:
min=3t+u(1-u);
@bin(u);
@gin(t);
t<=9;
t>=3;
end
结果是:
Local optimal solution found
Objective value: 9000000
Objective bound: 9000000
Infeasibilities: 0000000
Extended solver steps: 0
Total solver iterations: 20
Variable Value Reduced Cost
T 3000000 0000000
U 1000000 -1000000
Row Slack or Surplus Dual Price
1 9000000 -1000000
2 6000000 0000000
3 0000000 -3000000
《应用最优化方法及MATLAB实现》系统讲述如何将最优化方法实现为应用软件。系统阐述了各种无约束和带约束优化问题的计算方法和程序实现,内容包括:精确/非精确一维搜索、最速下降法、牛顿/拟牛顿法、共轭梯度法、单纯形法、内点法、积极集法、序列二次规划方法等。书中包含了必要的最优化理论知识,为得到最优化方法并用程序实现做准备。书中给出的许多应用优化技术是我们的最新研究成果,给出的优化程序是以专业编程技巧实现的最优化算法。书中还给出了大量的例子和习题。《应用最优化方法及MATLAB实现》可作为高等院校自动化、控制、系统工程、工业工程、计算机、应用数学、经济、管理、化工、材料、机械、能源等相关专业学生的教材,也可作为有关研究人员和工程技术人员的参考书。
fun=@(x1,x2)x1^2+x2^2+x1x2-3x1;
[x,fval]=fminunc(fun,[0 0])
这个更实用,能解决几乎所有求最小值的问题。
%方法很多,给出一种参考,不知道公式我看错没,就这样把。不懂来问!
%第一个
function main
x0=rand(1,3);
A=[-1,-2,-2;1,2,2];b=[0;72];
Aeq=[];beq=[];
LB=[];UB=[];
[x,fval,flag]=fmincon(@fun1,x0,A,b,Aeq,beq,LB,UB)
end
function f=fun1(x)
f=-x(1)x(2)x(3);
end
x =
240000 120000 120000
fval =
-34560e+03
flag =
5
%第二个function main
x0=rand(1,3);
A=[];b=[];
Aeq=[1 1 1; 2 -1 1];beq=[4;2];
LB=[];UB=[];
[x,fval,flag]=fmincon(@fun1,x0,A,b,Aeq,beq,LB,UB)
end
function f=fun1(x)
f=x(1)^2+2x(2)^2+x(3)^2-2x(1)x(2)+x(3);
end
x =
19091 19545 01364
fval =
39773
flag =
1
以上就是关于怎么用Matlab计算最优化问题全部的内容,包括:怎么用Matlab计算最优化问题、matlab最优化、用MATLAB体现牛顿高斯最优化方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)