文档视界 最新最全的文档下载
当前位置:文档视界 › 实用最优化方法Matlab程序设计

实用最优化方法Matlab程序设计

实用最优化方法Matlab程序设计
实用最优化方法Matlab程序设计

实用最优化方法Matlab程序设计

程序如下:

function lambda=nonexact(x0,s0)

g0=grad(x0);

f0=f(x0);

a=0;

c1=0.1;

c2=0.5;

lambdak=1;

sk=s0;

d=-c1*lambdak*g0'*sk;

xk=x0+lambdak*sk;

f1=f(xk);

e=f0-f1;

while d>e

lambdak=(lambdak+a)/2;

xk=x0+lambdak*sk;

fk=f(xk);

e=f0-fk;

d=-c1*lambdak*g0'*sk;

end

lambdak

function g=grad(x)

g=zeros(2,1);

g(1)=-4*x(1)*(x(2)-x(1)^2)-2*(1-x(1));

g(2)=2*(x(2)-x(1)^2);

function fa=f(x)

fa=(x(2)-x(1)^2)^2+(1-x(1))^2;

在命令窗口中输入x0=[0;1];s0=[-1;1];nonexact(x0,s0)输出结果为:

程序如下:

function x_star=cong(x0,eps)

g0=grad(x0);

res0=norm(g0);

resk=res0;

k=0;

xk=x0;

while resk>eps

k=k+1;

if k==1

sk=-grad(xk);

else

sk=-grad(xk)+resk^2/res0^2*s0;

end

lambdak=step(xk,sk);

x0=xk;

xk=x0+lambdak*sk;

res0=resk;

resk=norm(grad(xk));

s0=sk;

fprintf('------the%d-th iteration,the residual is%f,the lambdak is%f\n\n', k,resk,lambdak);

end

x_star=xk;

disp('the optimal solution is');

x_star

%sub functions

function g=grad(x)

g=zeros(4,1);

g(1)=2*x(1)-2*x(2)+2;

g(2)=4*x(2)-2*x(1)-x(3)+3;

g(3)=2*x(3)-x(2)-1;

g(4)=2*x(4);

function lambda=step(x,s)

a=2*x(1)*s(1)-2*x(2)*s(1)-2*x(1)*s(2)+4*x(2)*s(2)+2*s(3)*x(3)+2*x(4)*s(4)-s(2)*x (3)-s(3)*x(2)+2*s(1)+3*s(2)-s(3);

b=2*s(1)^2+4*s(2)^2-4*s(1)*s(2)+2*s(3)^2+2*s(4)^2-2*s(2)*s(3);

lambda=-a/b;

在命令窗口中输入x0=[0;0;0;0];eps=1e-6;cong(x0,eps)

输出结果为

-

H=2I时

k

程序如下:

function x_star=dfph(x0,eps)

g0=grad(x0);

res0=norm(g0);

res=res0;

k=0;

xk=x0;

while res>eps

k=k+1;

H=eye(length(x0));

sk=-H*grad(xk);

lambdak=nonexact(xk,sk);

x0=xk;

xk=x0+lambdak*sk;

res=norm(grad(xk));

fprintf('------the%d-th iteration,the residual is%f,the lambdak is%f\n\n', k,res,lambdak);

end

x_star=xk;

disp('the optimal solution is');

x_star

function lambda=nonexact(x0,s0)

g0=grad(x0);

f0=f(x0);

a=0;

c1=0.1;

c2=0.5;

lambdak=1;

d=-c1*lambdak*g0'*s0;

xk=x0+lambdak*s0;

f1=f(xk);

e=f0-f1;

while d>e

lambdak=(lambdak+a)/2;

xk=x0+lambdak*s0;

fk=f(xk);

e=f0-fk;

d=-c1*lambdak*g0'*s0;

end

lambda=lambdak;

function g=grad(x)

g=zeros(2,1);

g(1)=2*x(1)*exp(x(1)^2+x(2)^2)+1;

g(2)=4*x(2)+2*x(2)*exp(x(1)^2+x(2)^2);

function fa=f(x)

fa=x(1)+2*x(2)^2+exp(x(1)^2+x(2)^2);

在命令窗口中输入x0=[0;1];eps=1e-3;dfph(x0,eps)输出结果为:

当12()k k H f x -??=???时

程序如下:

function x_star=newton1(x0,eps)

g0=grad(x0);

res0=norm(g0);

res=res0;

k=0;

xk=x0;

while res>eps

k=k+1;

H=inv(GRAND(xk));

sk=-H*grad(xk);

lambdak=nonexact(xk,sk);

x0=xk;

xk=x0+lambdak*sk;

res=norm(grad(xk));

fprintf('------the%d-th iteration,the residual is%f,the lambdak is%f\n\n', k,res,lambdak);

end

x_star=xk;

disp('the optimal solution is');

x_star

function lambda=nonexact(x0,s0)

g0=grad(x0);

f0=f(x0);

a=0;

c1=0.1;

c2=0.5;

lambdak=1;

d=-c1*lambdak*g0'*s0;

xk=x0+lambdak*s0;

f1=f(xk);

e=f0-f1;

while d>e

lambdak=(lambdak+a)/2;

xk=x0+lambdak*s0;

fk=f(xk);

e=f0-fk;

d=-c1*lambdak*g0'*s0;

end

lambda=lambdak;

function g=grad(x)

g=zeros(2,1);

g(1)=2*x(1)*exp(x(1)^2+x(2)^2)+1;

g(2)=4*x(2)+2*x(2)*exp(x(1)^2+x(2)^2);

function fa=f(x)

fa=x(1)+2*x(2)^2+exp(x(1)^2+x(2)^2);

function G=GRAND(x)

G=zeros(2,2);

G(1)=2*exp(x(1)^2+x(2)^2)+4*x(1)^2*exp(x(1)^2+x(2)^2);

G(2)=4*x(1)*x(2)*exp(x(1)^2+x(2)^2);

G(3)=4*x(1)*x(2)*exp(x(1)^2+x(2)^2);

G(4)=4+(2+4*x(2)^2)*exp(x(1)^2+x(2)^2);

在命令窗口中输入x0=[0;1];eps=1e-3;newton1(x0,eps)输出结果为:

H为BFGS公式时:

k

程序如下:

function x_star=bfgs1(x0,eps)

g0=grad(x0);

res0=norm(g0);

res=res0;

k=0;

xk=x0;

while res>eps

k=k+1;

if k==1

H=eye(length(x0));

else

H0=H;

mu=1+dg'*H0*dg/(dx'*dg);

H=H0+(mu*dx*dx'-H0*dg*dx'-dx*dg'*H0)/(dx'*dg);

end

sk=-H*grad(xk);

lambdak=nonexact(xk,sk);

x0=xk;

xk=x0+lambdak*sk;

dx=xk-x0;

dg=grad(xk)-grad(x0);

res=norm(grad(xk));

fprintf('------the%d-th iteration,the residual is%f,the lambdak is%f\n\n', k,res,lambdak);

end

x_star=xk;

fm=f(xk);

disp('the optimal solution is');

x_star

fm

function lambda=nonexact(x0,s0)

g0=grad(x0);

f0=f(x0);

a=0;

c1=0.1;

c2=0.5;

lambdak=1;

d=-c1*lambdak*g0'*s0;

xk=x0+lambdak*s0;

f1=f(xk);

e=f0-f1;

while d>e

lambdak=(lambdak+a)/2;

xk=x0+lambdak*s0;

fk=f(xk);

e=f0-fk;

d=-c1*lambdak*g0'*s0;

end

lambda=lambdak;

function g=grad(x)

g=zeros(2,1);

g(1)=2*x(1)*exp(x(1)^2+x(2)^2)+1;

g(2)=4*x(2)+2*x(2)*exp(x(1)^2+x(2)^2);

function fa=f(x)

fa=x(1)+2*x(2)^2+exp(x(1)^2+x(2)^2);

在命令窗口中输入x0=[0;1];eps=1e-3;bfgs1(x0,eps)输出结果为:

程序如下:

function x=qpact(H,c,Ae,be,Ai,bi,x0)

epsilon=1.0e-9;

err=1.0e-6;

k=0;

x=x0;

n=length(x);

kmax=1.0e3;

ne=length(be);

ni=length(bi);

lamk=zeros(ne+ni,1);

index=ones(ni,1);

for(i=1:ni)

if(Ai(i,:)*x>bi(i)+epsilon)

index(i)=0;

end

end

while(k

Aee=[];

if(ne>0)

Aee=Ae;

end

for(j=1:ni)

if(index(j)>0)

Aee=[Aee;Ai(j,:)];

end

end

gk=H*x+c;

[m1,n1]=size(Aee);

[dk,lamk]=qsubp(H,gk,Aee,zeros(m1,1));

if(norm(dk)<=err)

y=0.0;

if(length(lamk)>ne)

[y,jk]=min(lamk(ne+1:length(lamk)));

end

if(y>=0)

exitflag=0;

else

exitflag=1;

for(i=1:ni)

if(index(i)&(ne+sum(index(1:i)))==jk)

index(i)=0;

break;

end

end

end

k=k+1;

else

exitflag=1;

alpha=1.0;%求步长%

tm=1.0;

for(i=1:ni)

if((index(i)==0)&(Ai(i,:)*dk<0))

tm1=(bi(i)-Ai(i,:)*x)/(Ai(i,:)*dk);

if(tm1

tm=tm1;

ti=i;

end

end

end

alpha=min(alpha,tm);

x=x+alpha*dk;

if(tm<1)%修正有效集%

index(ti)=1;

end

end

if(exitflag==0)

break;

end

k=k+1;

end

fn=f(x);

x_star=x;

x_star

fn

%求解子问题%

function[x,lambda]=qsubp(H,c,Ae,be)

ginvH=pinv(H);

[m,n]=size(Ae);

if(m>0)

rb=Ae*ginvH*c+be;

lambda=pinv(Ae*ginvH*Ae')*rb;

x=ginvH*(Ae'*lambda-c);

else

x=-ginvH*c;

lambda=0;

end

function fn=f(x)

fn=(x(1)-1)^2+(x(2)-2.5)^2;

在命令窗口中输入

H=[20;02];

c=[-2;-5];

Ae=[];be=[];

Ai=[1-2;-1-2;-12;10;01]; bi=[-2;-6;-2;0;0];

x0=[0;0];

qpact(H,c,Ae,be,Ai,bi,x0)

输出结果为:

程序如下:

function x_star=lagrange(x0,epsn)

v=1;

u=0;

m=h(u,x0);

while m>epsn

if(u+4*d(x0))>0

u=u+4*d(x0);

else

u=0;

end

v=v+4*e(x0);

x0=bfgs(v,u,x0);

m=h(u,x0);

end

x_tar=x0;

x_tar

fn=fn(x0);

fn

function star=bfgs(v0,u0,x0)

eps=1e-4;

g0=grad(v0,u0,x0);

res0=norm(g0);

res=res0;

k=0;

xk=x0;

while res>eps

k=k+1;

sk=-grad(v0,u0,x0);

lambdak=nonexact(v0,u0,xk,sk);

x0=xk;

xk=x0+lambdak*sk;

res=norm(grad(v0,u0,xk));

end

star=xk;

function lambda=nonexact(v0,u0,x0,s0) g0=grad(v0,u0,x0);

f0=f(v0,u0,x0);

a=0;

c1=0.1;

c2=0.5;

lambdak=1;

p=-c1*lambdak*g0'*s0;

xk=x0+lambdak*s0;

f1=f(v0,u0,xk);

q=f0-f1;

while p>q

lambdak=(lambdak+a)/2;

xk=x0+lambdak*s0;

fk=f(v0,u0,xk);

q=f0-fk;

p=-c1*lambdak*g0'*s0;

end

lambda=lambdak;

function g=grad(v,u,x)

g=zeros(2,1);

g(1)=4-2*x(1)*v-8*x(1)*(25-x(1)^2-x(2)^2)+(u+4*(10*x(1)-x(1)^2+10*x(2)-x(2)^2-34))*(10-2*x(1));

g(2)=-2*x(2)-2*x(2)*v-8*x(2)*(25-x(1)^2-x(2)^2)+(u+4*(10*x(1)-x(1)^2+10*x(2)-x (2)^2-34))*(10-2*x(2));

function f=f(v,u,x)

f=4*x(1)-x(2)^2-12+v*(25-x(1)^2-x(2)^2)+2*(25-x(1)^2-x(2)^2)^2+0.125*((u+4*(10 *x(1)-x(1)^2+10*x(2)-x(2)^2-34))^2-u^2);

function h=h(u,x)

if(10*x(1)-x(1)^2+10*x(2)-x(2)^2-34)>(-u/4)

h=(25-x(1)^2-x(2)^2)^2+(10*x(1)-x(1)^2+10*x(2)-x(2)^2-34)^2;

else

h=(25-x(1)^2-x(2)^2)^2+(-u/4)^2;

end

function d=d(x)

d=10*x(1)-x(1)^2+10*x(2)-x(2)^2-34;

function e=e(x)

e=25-x(1)^2-x(2)^2;

function fn=fn(x)

fn=4*x(1)-x(2)^2-12;

在命令窗口中输入x0=[1;1];epsn=1e-4;lagrange(x0,epsn)

输出结果为:

先写出求解二次规划子问题的程序

程序如下:

function[d,mu,lam,val,k]=qpsubp(dfk,Bk,Ae,hk,Ai,gk)

n=length(dfk);

l=length(hk);

m=length(gk);

gamma=0.05;

epsilon=1.0e-6;

rho=0.5;

sigma=0.2;

ep0=0.05;

mu0=0.05*zeros(l,1);

lam0=0.05*zeros(m,1);

d0=ones(n,1);

u0=[ep0;zeros(n+l+m,1)];

z0=[ep0;d0;mu0;lam0,];

k=0;

z=z0;

ep=ep0;

d=d0;

mu=mu0;

lam=lam0;

while(k<=150)

dh=dah(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk);

if(norm(dh)

break;

end

A=JacobiH(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk);

b=beta(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk,gamma)*u0-dh;

dz=A\b;

if(l>0&m>0)

de=dz(1);dd=dz(2:n+1);du=dz(n+2:n+l+1); dl=dz(n+l+2:n+l+m+1);

end

if(l==0)

de=dz(1);dd=dz(2:n+1);dl=dz(n+2:n+m+1);

end

if(m==0)

de=dz(1);dd=dz(2:n+1);du=dz(n+2:n+l+1);

end

i=0;mk=0;

while(mk<=20)

if(l>0&m>0)

dh1=dah(ep+rho^i*de,d+rho^i*dd,mu+rho^i*du,lam+rho^i*dl,dfk,Bk,Ae,hk,Ai,gk);

end

if(l==0)

dh1=dah(ep+rho^i*de,d+rho^i*dd,mu,lam+rho^i*dl,dfk,Bk,Ae,hk,Ai,gk);

end

if(m==0)

dh1=dah(ep+rho^i*de,d+rho^i*dd,mu+rho^i*du,lam,dfk,Bk,Ae,hk,Ai,gk);

end

if(norm(dh1)<=(1-sigma*(1-gamma*ep0)*rho^i)*norm(dh))

mk=i;

break;

end

i=i+1;

if(i==20)

mk=10;

end

end

alpha=rho^mk;

if(l>0&m>0)

ep=ep+alpha*de;d=d+alpha*dd;

mu=mu+alpha*du;lam=lam+alpha*dl;

end

if(l==0)

ep=ep+alpha*de;d=d+alpha*dd;

lam=lam+alpha*dl;

end

if(m==0)

ep=ep+alpha*de;d=d+alpha*dd;

mu=mu+alpha*du;

end

k=k+1;

end

function p=phi(ep,a,b)

p=a+b-sqrt(a^2+b^2+2*ep^2);

function dh=dah(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk)

n=length(dfk);l=length(hk);m=length(gk);

dh=zeros(n+l+m+1,1);

dh(1)=ep;

if(l>0&m>0)

dh(2:n+1)=Bk*d-Ae'*mu-Ai'*lam+dfk;

dh(n+2:n+l+1)=hk+Ae*d;

for(i=1:m)

dh(n+l+1+i)=phi(ep,lam(i),gk(i)+Ai(i,:)*d);

end

end

if(l==0)

dh(2:n+1)=Bk*d-Ai'*lam+dfk;

for(i=1:m)

dh(n+1+i)=phi(ep,lam(i),gk(i)+Ai(i,:)*d);

end

end

if(m==0)

dh(2:n+1)=Bk*d-Ae'*mu+dfk;

dh(n+2:n+l+1)=hk+Ae*d;

end

dh=dh(:);

function bet=beta(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk,gamma)

dh=dah(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk);

bet=gamma*norm(dh)*min(1,norm(dh));

function[dd1,dd2,v1]=ddv(ep,d,lam,Ai,gk)

m=length(gk);

dd1=zeros(m,m);dd2=zeros(m,m);v1=zeros(m,1);

for(i=1:m)

fm=sqrt(lam(i)^2+(gk(i)+Ai(i,:)*d)^2+2*ep^2);

dd1(i,i)=1-lam(i)/fm;

dd2(i,i)=1-(gk(i)+Ai(i,:)*d)/fm;

v1(i)=-2*ep/fm;

end

function A=JacobiH(ep,d,mu,lam,dfk,Bk,Ae,hk,Ai,gk)

n=length(dfk);l=length(hk);m=length(gk);

A=zeros(n+l+m+1,n+l+m+1);

[dd1,dd2,v1]=ddv(ep,d,lam,Ai,gk);

if(l>0&m>0)

A=[1,zeros(1,n),zeros(1,l),zeros(1,m);

zeros(n,1),Bk,-Ae',-Ai';

zeros(l,1),Ae,zeros(l,l),zeros(l,m);

v1,dd2*Ai,zeros(m,l),dd1];

end

if(l==0)

A=[1,zeros(1,n),zeros(1,m);

zeros(n,1),Bk,-Ai';

v1,dd2*Ai,dd1];

end

if(m==0)

A=[1,zeros(1,n),zeros(1,l);

zeros(n,1),Bk,-Ae';

zeros(l,1),Ae,zeros(l,l)];

end

序列二次规划程序为:

function[x,mu,lam,val,k]=sqpm(x0,mu0,lam0)

maxk=100;%最大迭代次数

n=length(x0);

l=length(mu0);

m=length(lam0);

rho=0.5;

eta=0.1;

B0=eye(n);

x=x0;

mu=mu0;

lam=lam0;

Bk=B0;

sigma=0.8;

epsilon1=1e-6;

epsilon2=1e-5;

[hk,gk]=cons(x);

dfk=df1(x);

[Ae,Ai]=dcons(x);

Ak=[Ae;Ai];

k=0;

while(k

[dk,mu,lam]=qpsubp(dfk,Bk,Ae,hk,Ai,gk);%求解子问题

mp1=norm(hk,1)+norm(max(-gk,0),1);

if(norm(dk,1)

break;

end%检验终止准则

deta=0.05;%罚参数更新

tau=max(norm(mu,inf),norm(lam,inf));

《MATLAB程序设计与应用(刘卫国)》(第二版) 答案

《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础 1.(1) z1=2*sin(pi*85/180)/(1+exp(2)) (2)x=[2,1+2i;-0.45,5]; z2=log(x+sqrt(1+x.^2))/2 (3)a=-3.0:0.1:3.0; z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) (4)t=0:0.5:2.5; z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1) 2. A=[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7]; (1)a=A+6*B b=A-B+eye(size(A)) %I=eye(size(A)) (2)c=A*B d=A.*B (3)e=A^3 f=A.^3 (4)g=A/B h=B\A (5)m=[A,B] n=[A([1,3],:);B^2] 3. A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25]; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; (1)C=A*B (2)D=C(3:end,2:end) 4.(1) a=100:999; b=rem(a,21)==0; c=find(b); d=length(c) (2)ch='Just as Bianhaiman said,Xiehong is ...'; e=find(ch>='A'&ch<='Z'); ch(e)=[] 实验二 MATLAB矩阵分析与处理 1.E=eye(3);

Matlab频谱分析程序

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中 ()/2 /2 lim N j n n N N X x e N ωω=-=∑ πωπ -<≤。 其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,

其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωππ ωωπ- -= =?? 序列n x 在整个Nyquist 间隔上的平均功率可以 表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f ππ ωωπ- -= =?? 上式中的 ()()2xx xx S P ωωπ = 以及()()xx xx s S f P f f = 被定义为平稳随机信号n x 的power spectral density (PSD)(功率谱密度) 一个信号在频带[]1 2 1 2 ,,0ωωωω π ≤<≤上的平均功率 可以通过对PSD 在频带上积分求出 []()()2 1 121 2 ,xx xx P P d P d ωωωωωω ωωωω-- = +?? 从上式中可以看出()xx P ω是一个信号在一个无 穷小频带上的功率浓度,这也是为什么它叫做功率谱密度。

五种最优化方法

五种最优化方法 1.最优化方法概述 1.1最优化问题的分类 1)无约束和有约束条件; 2)确定性和随机性最优问题(变量是否确定); 3)线性优化与非线性优化(目标函数和约束条件是否线性); 4)静态规划和动态规划(解是否随时间变化)。 1.2最优化问题的一般形式(有约束条件): 式中f(X)称为目标函数(或求它的极小,或求它的极大),si(X)称为不等式约束,hj(X)称为等式约束。化过程就是优选X,使目标函数达到最优值。 2.牛顿法 2.1简介 1)解决的是无约束非线性规划问题; 2)是求解函数极值的一种方法; 3)是一种函数逼近法。 2.2原理和步骤

3.最速下降法(梯度法) 3.1最速下降法简介 1)解决的是无约束非线性规划问题; 2)是求解函数极值的一种方法; 3)沿函数在该点处目标函数下降最快的方向作为搜索方向; 3.2最速下降法算法原理和步骤

4.模式搜索法(步长加速法) 4.1简介 1)解决的是无约束非线性规划问题; 2)不需要求目标函数的导数,所以在解决不可导的函数或者求导异常麻烦的函数的优化问题时非常有效。 3)模式搜索法每一次迭代都是交替进行轴向移动和模式移动。轴向移动的目的是探测有利的下降方向,而模式移动的目的则是沿着有利方向加速移动。 4.2模式搜索法步骤

5.评价函数法 5.1简介 评价函数法是求解多目标优化问题中的一种主要方法。在许多实际问题中,衡量一个方案的好坏标准往往不止一个,多目标最优化的数学描述如下:min (f_1(x),f_2(x),...,f_k(x)) s.t. g(x)<=0 传统的多目标优化方法本质是将多目标优化中的各分目标函数,经处理或数学变换,转变成一个单目标函数,然后采用单目标优化技术求解。常用的方法有“线性加权和法”、“极大极小法”、“理想点法”。选取其中一种线性加权求合法介绍。 5.2线性加权求合法 6.遗传算法 智能优化方法是通过计算机学习和存贮大量的输入-输出模式映射关系,进

刘卫国版MATLAB程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

信号检测与估值matlab仿真报告

信号检测与估值 仿真报告 题目信号检测与估值的MATLAB仿真学院通信工程学院 专业通信与信息系统 学生姓名 学号 导师姓名

作业1 试编写程序,画出相干移频键控、非相干移频键控(无衰落)和瑞利衰落信道下非相干移频键控的性能曲线。 (1)根据理论分析公式画性能曲线; (2)信噪比范围(0dB-10dB),间隔是1dB; (3)信噪比计算SNR=10lg(Es/N0) 一、脚本文件 1、主程序 %******************************************************** %二元移频信号检测性能曲线(理论分析) %FSK_theo.m %******************************************************** clear all; clc; SNRindB=0:1:20; Pe_CFSK=zeros(1,length(SNRindB)); Pe_NCFSK=zeros(1,length(SNRindB)); Pe_NCFSK_Rayleigh=zeros(1,length(SNRindB)); for i=1:length(SNRindB) EsN0=exp(SNRindB(i)*log(10)/10); Es_aveN0=exp(SNRindB(i)*log(10)/10); Pe_CFSK(i)=Qfunct(sqrt(EsN0));%相干移频键控系统 Pe_NCFSK(i)=0.5*exp(-EsN0/2);%非相干移频键控系统(无衰落) Pe_NCFSK_Rayleigh(i)=1/(2+Es_aveN0);%非相干移频键控系统(瑞利衰落)end semilogy(SNRindB,Pe_CFSK,'-o',SNRindB,Pe_NCFSK,'-*',SNRindB,Pe_NCFSK_Rayleigh ,'-'); xlabel('Es/No或平均Es/No(dB)'); ylabel('最小平均错误概率Pe'); legend('相干移频','非相干移频(无衰落)','非相干移频(瑞利衰落)'); title('二元移频信号检测性能曲线'); axis([0 20 10^-7 1]); grid on; 2、调用子函数 %******************************************************** %Q函数 %Qfunct.m %********************************************************

常用最优化方法评价准则

常用无约束最优化方法评价准则 方法算法特点适用条件 最速下降法属于间接法之一。方法简便,但要计算一阶偏导 数,可靠性较好,能稳定地使函数下降,但收敛 速度较慢,尤其在极点值附近更为严重 适用于精度要求不高或用于对 复杂函数寻找一个好的初始 点。 Newton法属于间接法之一。需计算一、二阶偏导数和Hesse 矩阵的逆矩阵,准备工作量大,算法复杂,占用 内存量大。此法具有二次收敛性,在一定条件下 其收敛速度快,要求迭代点的Hesse矩阵必须非 奇异且定型(正定或负定)。对初始点要求较高, 可靠性较差。 目标函数存在一阶\二阶偏导 数,且维数不宜太高。 共轭方向法属于间接法之一。具有可靠性好,占用内存少, 收敛速度快的特点。 适用于维数较高的目标函数。 变尺度法属于间接法之一。具有二次收敛性,收敛速度快。 可靠性较好,只需计算一阶偏导数。对初始点要 求不高,优于Newton法。因此,目前认为此法是 最有效的方法之一,但需内存量大。对维数太高 的问题不太适宜。 适用维数较高的目标函数 (n=10~50)且具有一阶偏导 数。 坐标轮换法最简单的直接法之一。只需计算函数值,无需求 导,使用时准备工作量少。占用内存少。但计算 效率低,可靠性差。 用于维数较低(n<5)或目标函 数不易求导的情况。 单纯形法此法简单,直观,属直接法之一。上机计算过程 中占用内存少,规则单纯形法终止条件简单,而 不规则单纯形法终止条件复杂,应注意选择,才 可能保证计算的可靠性。 可用于维数较高的目标函数。

常用约束最优化方法评价标准 方法算法特点适用条件 外点法将约束优化问题转化为一系列无约束优化问题。 初始点可以任选,罚因子应取为单调递增数列。 初始罚因子及递增系数应取适当较大值。 可用于求解含有等式约束或不等 式约束的中等维数的约束最优化 问题。 内点法将约束优化问题转化为一系列无约束优化问题。 初始点应取为严格满足各个不等式约束的内点, 障碍因子应取为单调递减的正数序列。初始障碍 因子选择恰当与否对收敛速度和求解成败有较大 影响。 可用于求解只含有不等式约束的 中等维数约束优化问题。 混合罚函数法将约束优化问题转化为一系列无约束优化问题, 用内点形式的混合罚函数时,初始点及障碍因子 的取法同上;用外点形式的混合罚函数时,初始 点可任选,罚因子取法同外点法相同。 可用于求解既有等式约束又有不 等式约束的中等维数的约束化问 题。 约束坐标轮换法由可行点出发,分别沿各坐标轴方向以加步探索 法进行搜索,使每个搜索点在可行域内,且使目 标函数值下降。 可用于求解只含有不等式约束, 且维数较低(n<5),目标函数的 二次性较强的优化问题。 复合形法在可行域内构造一个具有n个顶点的复合形,然 后对复合形进行映射变化,逐次去掉目标函数值 最大的顶点。 可用于求解含不等式约束和边界 约束的低维优化问题。

music 方位估计 实验报告三 MATLAB 代码

实验报告三 实验目的: 实现常规波束形成及基于MUSIC 方法的方位估计。 实验内容: 1)若干阵元的接收阵,信号频率为10KHz ,波束主轴12度,仿真给出常规波束形成的波束图。 2)16个阵元的均匀线列阵,信号频率为10KHz ,信号方位为12度,用MUSIC 方法完成目标定向,信噪比-5dB ,0dB ,5dB 。 i) 波束形成时的阵型设计为两种,一种是均匀线列阵,阵元16个;一种是均匀圆阵,阵元数为16个,比较这两种阵型的波束图。 ii )比较不同信噪比下MUSIC 方法估计的性能(统计100次)。 实验原理: i)常规波束形成: 如图所示,基阵的输出),(θt v 。 ∑∑=*=* ==M m i i M m i i w t x t x w t v 1 1 ) ()()()(),(θθθ 采用向量符号则有, )()()()(),(H H θθθw x x w t t t v == 式中,x(t)和w(q )分别为观测数据向量和加权系数向量, ) ,(θt v 图 1 波束形成器基本原理图

T M 21])()()([)(t x t x t x t Λ=x T M 21])()()([)(θθθθw w w Λ =w 基阵输出端的空间功率谱表示为: ) ()( )()]()([)( )]()()()([ )],(),([ ] ),([)(H H H H H *2 θθθθθθθθθθRw w w x x w w x x w =====t t E t t E t v t v E t v E P 式中,R 为观测数据的协方差矩阵。 ii )基于MUSIC 方法的方位估计: )()()()(1 t n t s a t x i d i +=∑=θ T M 21])()()([)(t x t x t x t Λ =x )()()()(t n t s A t x +=θ 假设: (1 ) 信号源的数目d 是已知的, 且d < M ; (2 ) 各信号的方向矢量是相互独立的, 即)(θA 是一个列满秩矩阵; (3 ) 噪声)(t n 是空间平稳随机过程, 为具有各态历经性的均值为零、方差为σ2n 的高斯过程; (4 ) 噪声各取样间是统计独立的。 在上述假设条件下, 基阵输出的协方差矩阵可表示为: I A AR t x t x E R H s H 2])()([α+== 其中, R s 为信号的协方差矩阵;I 为单位矩阵。对R 进行特征分解, 并以特 征值降值排列可得 H m m M d m m H m m d m m e e e e R ∑∑+==+ =1 1λ λ 信号子空间与噪声子空间正交。 若噪声子空间记为E N , 即 ∑+== M d m H m m N e e E 1

最优化方法及其应用 - 更多gbj149 相关pdf电子书下载

最优化方法及其应用 作者:郭科 出版社:高等教育出版社 类别:不限 出版日期:20070701 最优化方法及其应用 的图书简介 系统地介绍了最优化的理论和计算方法,由浅入深,突出方法的原则,对最优化技术的理论作丁适当深度的讨论,着重强调方法与应用的有机结合,包括最优化问题总论,线性规划及其对偶问题,常用无约束最优化方法,动态规划,现代优化算法简介,其中前八章为传统优化算法,最后一章还给出了部分优化问题的设计实例,也可供一般工科研究生以及数学建模竞赛参赛人员和工程技术人员参考, 最优化方法及其应用 的pdf电子书下载 最优化方法及其应用 的电子版预览 第一章 最优化问题总论1.1 最优化问题数学模型1.2 最优化问题的算法1.3 最优化算法分类1.4

组合优化问題简卉习题一第二章 最优化问题的数学基础2.1 二次型与正定矩阵2.2 方向导数与梯度2.3 Hesse矩阵及泰勒展式2.4 极小点的判定条件2.5 锥、凸集、凸锥2.6 凸函数2.7 约束问题的最优性条件习题二第三章 线性规划及其对偶问题3.1线性规划数学模型基本原理3.2 线性规划迭代算法3.3 对偶问题的基本原理3.4 线性规划问题的灵敏度习题三第四章 一维搜索法4.1 搜索区间及其确定方法4.2 对分法4.3 Newton切线法4.4 黄金分割法4.5 抛物线插值法习题四第五章 常用无约束最优化方法5.1 最速下降法5.2 Newton法5.3 修正Newton法5.4 共轭方向法5.5 共轭梯度法5.6 变尺度法5.7 坐标轮换法5.8 单纯形法习題五第六章 常用约束最优化方法6.1外点罚函数法6.2 內点罚函数法6.3 混合罚函数法6.4 约束坐标轮换法6.5 复合形法习题六第七章 动态规划7.1 动态规划基本原理7.2 动态规划迭代算法7.3 动态规划有关说明习题七第八章 多目标优化8.1 多目标最优化问题的基本原理8.2 评价函数法8.3 分层求解法8.4目标规划法习题八第九章 现代优化算法简介9.1 模拟退火算法9.2遗传算法9.3 禁忌搜索算法9.4 人工神经网络第十章 最优化问题程序设计方法10.1 最优化问题建模的一般步骤10.2 常用最优化方法的特点及选用标准10.3 最优化问题编程的一般过程10.4 优化问题设计实例参考文献 更多 最优化方法及其应用 相关pdf电子书下载

常用无约束最优化方法(一)

项目三 常用无约束最优化方法(一) [实验目的] 编写最速下降法、Newton 法(修正Newton 法)的程序。 [实验学时] 2学时 [实验准备] 1.掌握最速下降法的思想及迭代步骤。 2.掌握Newton 法的思想及迭代步骤; 3.掌握修正Newton 法的思想及迭代步骤。 [实验内容及步骤] 编程解决以下问题:【选作一个】 1.用最速下降法求 22120min ()25[22]0.01T f X x x X ε=+==,,,. 2.用Newton 法求 22121212min ()60104f X x x x x x x =--++-, 初始点 0[00]0.01T X ε==,,. 最速下降法 Matlab 程序: clc;clear; syms x1 x2; X=[x1,x2]; fx=X(1)^2+X(2)^2-4*X(1)-6*X(2)+17; fxd1=[diff(fx,x1) diff(fx,x2)]; x=[2 3]; g=0; e=0.0005; a=1; fan=subs(fxd1,[x1 x2],[x(1) x(2)]); g=0; for i=1:length(fan) g=g+fan(i)^2; end g=sqrt(g); step=0; while g>e step=step+1; dk=-fan; %点x(k)处的搜索步长

ak=((2*x(1)-4)*dk(1)+(2*x(2)-6)*dk(2))/(dk(1)*dk(2)-2*dk(1)^2-2*dk(2)^2); xu=x+ak*dk; x=xu; %输出结果 optim_fx=subs(fx,[x1 x2],[x(1) x(2)]); fprintf(' x=[ %d %d ] optim_fx=%d\n',x(1),x(2),optim_fx); %计算目标函数点x(k+1)处一阶导数值 fan=subs(fxd1,[x1 x2],[x(1) x(2)]); g=0; for i=1:length(fan) g=g+fan(i)^2; end g=sqrt(g); end %输出结果 optim_fx=subs(fx,[x1 x2],[x(1) x(2)]); fprintf('\n最速下降法\n结果:\n x=[ %d %d ] optim_fx=%d\n',x(1),x(2),optim_fx); c++程序 #include #include #include #include float goldena(float x[2],float p[2]) {float a; a=-1*(x[0]*p[0]+4*x[1]*p[1])/(p[0]*p[0]+4*p[1]*p[1]); return a; } void main() {float a=0,x[2],p[2],g[2]={0,0},e=0.001,t; int i=0; x[0]=1.0; x[1]=1.0;

matlab程序设计与应用第二版习题答案

matlab程序设计与应用第二版习题答案【篇一:matlab程序设计与应用(第二版)实验答案】 %实验一 matlab运算基础 %第1题 %(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t=0t1)+(t.^2-1).*(t=1t2)+(t.^2-2*t+1).*(t=2t3) %第2题 a=[12 34 -4;34 7 87;3 65 7]; b=[1 3 -1;2 0 3;3 -2 7]; a+6*b a-b+eye(size(a)) a*b a.*b a^3 a.^3 a/b b\a [a,b] [a([1,3],:);b^2] %第3题 a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] b=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] c=a*b f=size(c) d=c(f(1)-2:f(1),f(2)-1:f(2)) whos %第4题 %(1):

a=100:999; b=rem(a,21); c=length(find(b==0)) %(2): a=lsdhksdlkklsdkl; k=find(a=aa=z); a(k)=[] %实验二 matlab矩阵分析与处理 %第1题 e=eye(3); r=rand(3,2); o=zeros(2,3); s=diag([2,3]); a=[e,r;o,s]; a^2 b=[e,(r+r*s);o,s^2] %第2题 h=hilb(5) p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) %第3题 a=fix(10*rand(5)) h=det(a) trace=trace(a) rank=rank(a) norm=norm(a) %第4题 a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) %数学意义略 %第5题方法一 %(1): a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52]; x=inv(a)*b %(2):

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中( )/2 /2 lim N j n n N n N X x e ωω=-=∑ πωπ-<≤。其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωπ π ωωπ--= =? ? 序列n x 在整个Nyquist 间隔上的平均功率可以表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f π π ωωπ--= =? ?

《最优化方法与应用》实验指导书

《最优化方法与应用》 实验指导书 信息与计算科学系编制

1 实验目的 基于单纯形法求解线性规划问题,编写算法步骤,绘制算法流程图,编写单纯形法程序,并针对实例完成计算求解。 2实验要求 程序设计语言:C++ 输入:线性规划模型(包括线性规划模型的价值系数、系数矩阵、右侧常数等) 输出:线性规划问题的最优解及目标函数值 备注:可将线性规划模型先转化成标准形式,也可以在程序中将线性规划模型从一般形式转化成标准形式。 3实验数据 123()-5-4-6=Min f x x x x 121231212320 324423230,,03-+≤??++≤??+≤??≥? x x x x x x st x x x x x

1 实验目的 基于线性搜索的对分法、Newton 切线法、黄金分割法、抛物线法等的原理及方法,编写算法步骤和算法流程图,编写程序求解一维最优化问题,并针对实例具体计算。 2实验要求 程序设计语言:C++ 输入:线性搜索模型(目标函数系数,搜索区间,误差限等) 输出:最优解及对应目标函数值 备注:可从对分法、Newton 切线法、黄金分割法、抛物线法中选择2种具体的算法进行算法编程。 3实验数据 2211 ()+-6(0.3)0.01(0.9)0.04 = -+-+Min f x x x 区间[0.3,1],ε=10-4

实验三 无约束最优化方法 1实验目的 了解最速下降法、牛顿法、共轭梯度法、DFP 法和BFGS 法等的基本原理及方法,掌握其迭代步骤和算法流程图,运用Matlab 软件求解无约束非线性多元函数的最小值问题。 2实验要求 程序设计语言:Matlab 针对实验数据,对比最速下降法、牛顿法、共轭梯度法、DFP 法和BFGS 法等算法,比较不同算法的计算速度和收敛特性。 3实验数据 Rosenbrock's function 222211()(100)+(1-)=-Min f x x x x 初始点x=[-1.9, 2],,ε=10-4

(完整版)MATLAB模拟2ASK调制误码率与信噪比关系曲线的程序

%模拟2ASK % Pe=zeros(1,26); jishu=1; for snr=-10:0.5:15 max = 10000; s=round(rand(1,max));%长度为max的随机二进制序列 f=100;%载波频率 nsamp = 1000;每个载波的取样点数 tc=0:2*pi/999:2*pi;tc的个数应与nsamp相同 cm=zeros(1,nsamp*max); cp=zeros(1,nsamp*max); mod=zeros(1,nsamp*max); for n=1:max; if s(n)==0; m=zeros(1,nsamp); b=zeros(1,nsamp); else if s(n)==1; m=ones(1,nsamp); b=ones(1,nsamp); end end c = sin(f*tc); cm((n-1)*nsamp+1:n*nsamp)=m; cp((n-1)*nsamp+1:n*nsamp)=b; mod((n-1)*nsamp+1:n*nsamp)=c; end tiaoz=cm.*mod;%2ASK调制 t = linspace(0,length(s),length(s)*nsamp); tz=awgn(tiaoz,snr);%信号tiaoz中加入白噪声,信噪比为SNR=10dB jiet = 2*mod.*tz; %相干解调 [N,Wn]=buttord(0.2,0.3,1,15); [b,a]=butter(N,Wn); dpsk=filter(b,a,jiet);%低通滤波 % 抽样判决,判决门限为0.5 depsk = zeros(1,nsamp*max); for m = nsamp/2:nsamp:nsamp*max; if dpsk(m) < 0.5; for i = 1:nsamp depsk((m-500)+i) = 0; end

最优化方法及应用

陆吾生教授是加拿大维多利亚大学电气与计算机工程系 (Dept. of Elect. and Comp. Eng. University of Victoria) 的正教授, 且为我校兼职教授,曾多次来我校数学系电子系讲学。陆吾生教授的研究方向是:最优化理论和小波理论及其在1维和2维的数字信号处理、数字图像处理、控制系统优化方面的应用。 现陆吾生教授计划在 2007 年 10-11 月来校开设一门为期一个月的短期课程“最优化理论及其应用”(每周两次,每次两节课),对象是数学系、计算机系、电子系的教师、高年级本科生及研究生,以他在2006年出版的最优化理论的专著作为教材。欢迎数学系、计算机系、电子系的研究生及高年级本科生选修该短期课程,修毕的研究生及本科生可给学分。 上课地点及时间:每周二及周四下午2:00开始,在闵行新校区第三教学楼326教室。(自10月11日至11月8日) 下面是此课程的内容介绍。 ----------------------------------- 最优化方法及应用 I. 函数的最优化及应用 1.1 无约束和有约束的函数优化问题 1.2 有约束优化问题的Karush-Kuhn-Tucker条件 1.3 凸集、凸函数和凸规划 1.4 Wolfe对偶 1.5 线性规划与二次规划 1.6 半正定规划 1.7 二次凸锥规划 1.8 多项式规划 1.9解最优化问题的计算机软件 II 泛函的最优化及应用 2.1 有界变差函数 2.2 泛函的变分与泛函的极值问题 2.3 Euler-Lagrange方程 2.4 二维图像的Osher模型 2.5 泛函最优化方法在图像处理中的应用 2.5.1 噪声的消减 2.5.2 De-Blurring 2.5.3 Segmentation ----------------------------------------------- 注:这是一门约二十学时左右的短期课程,旨在介绍函数及泛函的最优化理论和方法,及其在信息处理中的应用。只要学过一元及多元微积分和线性代数的学生就能修读并听懂本课程。课程中涉及到的算法实现和应用举例都使用数学软件MATLAB 华东师大数学系

最优化方法及其应用课后答案

1 2 ( ( 最优化方法部分课后习题解答 1.一直优化问题的数学模型为: 习题一 min f (x ) = (x ? 3)2 + (x ? 4)2 ? g (x ) = x ? x ? 5 ≥ ? 1 1 2 2 ? 试用图解法求出: s .t . ?g 2 (x ) = ?x 1 ? x 2 + 5 ≥ 0 ?g (x ) = x ≥ 0 ? 3 1 ??g 4 (x ) = x 2 ≥ 0 (1) 无约束最优点,并求出最优值。 (2) 约束最优点,并求出其最优值。 (3) 如果加一个等式约束 h (x ) = x 1 ? x 2 = 0 ,其约束最优解是什么? * 解 :(1)在无约束条件下, f (x ) 的可行域在整个 x 1 0x 2 平面上,不难看出,当 x =(3,4) 时, f (x ) 取最小值,即,最优点为 x * =(3,4):且最优值为: f (x * ) =0 (2)在约束条件下, f (x ) 的可行域为图中阴影部分所示,此时,求该问题的最优点就是 在约束集合即可行域中找一点 (x 1 , x 2 ) ,使其落在半径最小的同心圆上,显然,从图示中可 以看出,当 x * = 15 , 5 ) 时, f (x ) 所在的圆的半径最小。 4 4 ?g (x ) = x ? x ? 5 = 0 ? 15 ?x 1 = 其中:点为 g 1 (x ) 和 g 2 (x ) 的交点,令 ? 1 1 2 ? 2 求解得到: ? 4 5 即最优点为 x * = ? ?g 2 (x ) = ?x 1 ? x 2 + 5 = 0 15 , 5 ) :最优值为: f (x * ) = 65 ?x = ?? 2 4 4 4 8 (3).若增加一个等式约束,则由图可知,可行域为空集,即此时最优解不存在。 2.一个矩形无盖油箱的外部总面积限定为 S ,怎样设计可使油箱的容量最大?试列出这个优 化问题的数学模型,并回答这属于几维的优化问题. 解:列出这个优化问题的数学模型为: max f (x ) = x 1x 2 x 3 ?x 1x 2 + 2x 2 x 3 + 2x 1x 3 ≤ S

MATLAB程序设计及应用(第二版)课后实验答案

。 Matlab课后实验题答案 《 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--

(4) 22 42011 122123t t z t t t t t ?≤

) 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:

最优化求解法在实际问题中的应用

本科毕业论文 (2014届) 题目:最优化求解法在实际问题中的应用学院:计算机与科学技术学院 专业:数学与应用数学 班级:10数本班 学号:1006131084 姓名:严慧 指导老师:孙钢钢

目录 1.摘要 (3) 2.关键字 (3) 3.引言 (3) 4.最优化求解法在实际问题中的应用 (4) 4.1.无约束最优化问题的求解............................................... ....... 4.2.有约束最优化问题的求解............................................... ....... 4.3.线性规划问题的求解............................................... ........... ... 4.4.非线性规划问题的求解............................................... ........... 5.结束语................................................................................................参考书目

1.摘要:本文介绍最优化及相关知识在实际生活中的应用,主要是利用运筹 学来研究解决在实际生活中所遇到的一些问题,找到最优的解决方案,帮助人们提供最好的最有科学依据的最佳方法。 2.关键字:最优化,运筹学,生活,应用。 Abstract:This paper introduced the Optimization in the real life application,this is use of Operations research to solve the problem in real life,finding the best solution,and provide the best and scientifically valid solution to the people . Key words: Optimization, Operations research, life, application. 3.引言 随着社会迅速发展,各行各业中的竞争日益激烈,我们日常生活中好多事情都会牵扯到最优化,比如运输成本问题、效益分配问题等等。 什么是数学最优化问题,就是利用合理的安排和规划在一件事情或者问题上取得利润最大,时间最少,路线最短,损失最少的方法。所以最优化解决方法对实际生活现实社会的帮助作用很大。现如今,最优化解决问题已经渗透到生活中的方方面面。 一个好的决策也许会让你绝处逢生,反败为胜,譬如中国历史上田忌赛马的故事,田忌的聪明之处在于在已有的条件下,经过策划安排,选择了最好的方案,所以最后就是自己看似劣势也能取胜,筹划是非常重要的,这就是运筹学的魅力。 我们在中国的古代史上就可以看到中国古人已经具有很好的运筹学思想了,在战争中,两兵交战,各方都会有自己的军师,历史上有很多著名的军师,比如诸葛亮,刘伯温等。他们在战争中所起到的作用就是“运筹于帷幄之中,决胜于千里之外”,运筹学二字也是来源于此,了解敌方的军情,以此做出相应的对策,筹划最佳作战计划,做到“知己知彼百战不殆”,历史上也不乏一些以少胜多以弱胜强的战争,由此可见运筹学在军事中的力量有多强大。 现代社会中运筹学不仅在军事方面发挥着重要作用,同样在企业经营管理方面也是非常重要的,最优化理论最早是在工业领域产生的,它的对象可以是产

MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图||文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。。数学软件 MATLAB 程序设计与应用

第1章MATLAB系统环境 1.1 MATLAB概貌 1.2 MATLAB环境的准备 1.3 MATLAB操作界面 1.4 MATLAB帮助系统 自上世纪80年代以来,出现了科学计算语言,亦称数学软件。 MATLAB Mathematica Mathcad Maple LINDO LINGO 1.1 MATLAB概貌p3 MATLAB 是MATrix LABoratory(矩阵实验室)的缩写。 1984年由Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。 1.1.1 MATLAB的发展

1. 从MATLAB 4.2c开始,每个版本增加了一个建造编号; 2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的; 3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半 年出,b是后半年出。 教材采用MATLAB7.0(R14,2004) 实验室采用MATLAB 7.8(R2009a,2009.3,汉化) 1.1.2 MATLAB的主要功能p4 ◆数值计算和符号计算功能 ◆绘图功能 ◆语言体系 ◆MATLAB工具箱 (1) 数值计算和符号计算功能 MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能 可以绘制二维和三维图形。 MATLAB提供了两个层次的绘图操作: ●对图形句柄进行的低层绘图操作; ●建立在低层绘图操作之上的高层绘图操作。 (3) 语言体系 MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。 (4) MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 基本部分 构成MATLAB的核心内容,也是使用和构造工具箱的基础。 功能性工具箱 主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。 学科性工具箱 Control System Toolbox 控制系统工具箱 Signal Processing Toolbox 信号处理工具箱 Neural Network Toolbox 神经网络工具箱 Optimization Toolbox 最优化工具箱 Financial Toolbox 金融工具箱 Statistics Toolbox 统计学工具箱 开始→工具箱 MATLAB具备很强的开放性 除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

相关文档
相关文档 最新文档