最优化大作业2014

最优化大作业2014
最优化大作业2014

题目:最优化大作业班级:021251

姓名:杨明坤

学号:02125043

:无论做什么事,人们总希望以最少的代价取得最大的利益,也就是力求最好,这就是最优化问题。最优化就是在一切可能的方案中,选择一个最好的方案以达到最优目标。

概括地说,凡是追求最有目标的数学问题都属于最优化问题。作为最优化问题,一般有三个要素:

第一是目标

第二是方案

第三是限制条件

而且目标应是方案的“函数”,如果方案与时间无关,则该问题属于静态最优化问题;否则属于动态最优化问题。

爬坡法求解y=(r-2)*(r-2)+3的局部最优解1.首先介绍一些基本概念:

上面是爬山法的图示描述。下面给出本体的实现代码: #include

#include

int com(float,float);

float x,i,z,w,h;

printf("%f",&x);

main()

{

z=x=0;

i=0.1;

for(i<=6)

{

w=x+i;

h=com(x,w);

if(h==1);

z=w;

x=w;

}

printf("%f/n",f(w));

}

float f(float r)

{

float y;

y=(r-2)*(r-2)+3;

return y;

}

int com(float x ,float i)

{floata,b;

a=f(x);

b=f(i);

if((b-a)<0);

return 1;

else

return o;

}

下面是最优化问题的数学模型及分类;

用修正牛顿法求解minf(X)=4(x1+1)^2+2(x2-1)^2+x1+x2+10,初始点X0=【0,0】^T,?=0.01. 先介绍一些基本概念:

正定二次函数,牛顿反向就是指极小点的方向。

用牛顿法解目标函数的无约束问题,只需一步迭代就可以得到最优解。

下面介绍修正牛顿法:

说明:修正牛顿法对初始点的选取要求不严。

下面是解题步骤;

源代码:

#include

#include

#include

#define n 2//正定二次函数的自变量个数

double fun(double x[n],double f_xs[n+n+1+(n-1)*n/2])//输入变量为函数自变量初值{

int i,j;

double f=0;

for(i=0;i

{

f+=pow(x[i],2)*f_xs[i];

}

for(;i<2*n;i++)//计算X部分

{

f+=x[i%n]*f_xs[i];

}

f+=f_xs[i];//计算常数项部分

for(i=0;i

{

for(j=i+1;j

{

f+=f_xs[(n+1)+n*(i+1)-i*(i+1)/2+j-i-1]*x[i]*x[j];

}

}

return f;

}

void Q_fun(double f_xs[n+n+1+(n-1)*n/2],double Q[n][n+1])

{

int i,j;

for(i=0;i

{

Q[i][i]=2*f_xs[i];

}

for(i=0;i

{

Q[i][n]=f_xs[n+i];

}

for(i=0;i

{

for(j=i+1;j

{

Q[j][i]=Q[i][j]=f_xs[(n+1)+n*(i+1)-i*(i+1)/2+j-i-1];

}

}

}

void D_fun(double x[n],double Q[n][n+1],double g0[n])//自变量初值,正定二次函数的各项系数,返回梯度的初值

{

int i,j;

for(i=0;i

{

g0[i]=0;//清零

for(j=0;j

{

if(i==j)

g0[i]+=Q[i][j]*x[j];

else

g0[i]+=Q[i][j]*x[j];

}

}

for(i=0;i

{

g0[i]+=Q[i][n];

}

cout<

for(i=0;i

cout<

cout<

}

void Hesse_fun(double Q[n][n+1],double Hesse[n][n])

{

int i,j;

for(i=0;i

{

for(j=0;j

{

Hesse[i][j]=Q[i][j];

}

}

cout<<"Hesse 矩阵:"<

for(i=0;i

{

for(j=0;j

{

cout<

}

cout<

}

}

int H(double g0[n],double c)//判别准则:返回1结束,返回0继续迭代{

double s=0;

for(int i=0;i

{

s+=pow(g0[i],2);

}

if(sqrt(s)

return 1;

else

return 0;

}

void inv(double a[n][n],double c[n][n])//求Hesse矩阵的逆矩阵

{

double m[n];//辅助乘数

double T;//存储换行临时变量

double temp=0;

double t;//最大列主元

int tap1=0,tap2=0;//最大列主元下标

for(int i=0;i

{

for(int j=0;j

{

if(i==j)

{

c[i][j]=1;

}

else

{

c[i][j]=0;

}

}

}

for(int s=0;s

{

t=a[s][s];//赋初值

for(int p=s;p

{

if(fabs(a[p][s])>t)

{

t=a[p][s];

tap1=p;

tap2=s;

}

}

if(t==0)

{cout<<"列主元为零,失败!"<

{

for(int i=0;i

{

T=a[tap1][i];

a[tap1][i]=a[s][i];

a[s][i]=T;

T=c[tap1][i];//逆矩阵换行

c[tap1][i]=c[s][i];

c[s][i]=T;

}

}

tap1=tap2=0;//置零

for(int j=0;j

{

a[s][j]=a[s][j]/t;

c[s][j]=c[s][j]/t;

}

for(int i=0;i

{

if(i!=s)

{

m[i]=a[i][s]/a[s][s];

for(int j=0;j

{

a[i][j]=a[i][j]-m[i]*a[s][j];

c[i][j]=c[i][j]-m[i]*c[s][j];

}

}

}

}

cout<

cout<<"Hesse矩阵的逆矩阵为:"<

for(i=0;i

{

for(int j=0;j

{

cout<

}

cout<

}

}

void xiang_cheng(double a[n][n],double b[n],double c[n])//n*n矩阵乘以n*1矩阵

{

int i,j,k;

if(n==n)

{

cout<<"两矩阵阶数相符可以相乘!"<

for(i=0;i

{

c[i]=0;

}

for(k=0;k

{

for(j=0;j

{

c[k]+=a[k][j]*b[j];

}

}

cout<<"Hesse矩阵的逆矩阵和梯度向量相乘,两矩阵相乘结果为:"<

for(i=0;i

{

cout<

}

}

else

cout<<"两个矩阵阶数不符,不能相乘"<

}

//开始计算minf(Xk+tPk)时的步长t的值,由于这是n元二次函数所以minf(t)是关于t>0的二次函数,先求二次方程a,b,c系数,用一阶导为零。

void abc(double x[n],double p[n],double f_xs[n+n+1+(n-1)*n/2],double t[3])//t[3]中返回的是a,b,c的系数值

{

int i,j;

t[0]=t[1]=t[2]=0;

t[0]=fun(p,f_xs)-f_xs[2*n];

for(i=n;i<2*n;i++)

{

t[0]-=f_xs[i]*p[i%n];

}

for(i=0;i

{

t[1]+=2*f_xs[i]*x[i]*p[i];

}

for(;i<2*n;i++)

{

t[1]+=f_xs[i]*p[i%n];

}

for(i=0;i

{

for(j=i+1;j

{

t[1]+=f_xs[(n+1)+n*(i+1)-i*(i+1)/2+j-i-1]*(x[i]*p[j]+x[j]*p[i]);

}

}

t[2]=fun(x,f_xs);

cout<

}

//二次函数一阶导为零计算t的值,t>0

double t_c(double t[3])

{

cout<<"用一阶导求得步长为:t="<<-t[1]/t[0]/2<

return -t[1]/t[0]/2;

}

void main()

{

double f_xs[n+n+1+(n-1)*n/2]={4,2,9,-3,16,0};//正定二次函数的各项系数,第一个为:X1^2系数,第二个为:X2^2系数,第三个为:X1系数,第四个为:X2系数,第五个为:常数项,第六个为:X1X2系数;

//n元的系数存放类推

double x[n]={0,0};//函数自变量初值

double f0;//函数值

double g0[n];//梯度的值

double Q[n][n+1];//正定二次函数对应的实对称矩阵

double c=0.01;//H准则限值

double Hesse[n][n];//Hesse矩阵

double inv_Hesse[n][n];//Hesse矩阵的逆

double t[3];//返回求minf()时t的二次函数的a,b,c的系数值

double t_bc;//步长

double p[n];//保存矩阵相乘结果_加负号后变成下降方向

int i,tap=0;//迭代次数

Q_fun(f_xs,Q);//计算正定二次函数对应的实对称矩阵ok!

f0=fun(x,f_xs);//求函数初值ok!

D_fun(x,Q,g0);//返回梯度的初值

while(H(g0,c)==0)

{

//x_k_1(x,g0,Q);//求出下一个迭代点,更新了x[n]的值

Hesse_fun(Q,Hesse);//返回Hesse矩阵的值??一个二次函数的Hesse矩阵是变的还是不变

inv(Hesse,inv_Hesse);//返回Hesse矩阵的逆矩阵

xiang_cheng(inv_Hesse,g0,p);

for(i=0;i

p[i]*=(-1);

abc(x,p,f_xs,t);//开始计算minf(Xk+tPk)时的步长t的值,

t_bc=t_c(t);//求一阶导来计算t

for(i=0;i

{

x[i]=x[i]+t_bc*p[i];

}

tap++;

f0=fun(x,f_xs);

D_fun(x,Q,g0);

}

cout<<"修正newton法"<

cout<<"函数f(x1,x2)=4(X1+1)^2+2(X2-1)^2+X1+X2+10.的极小点为:"<<"f="<

cout<<"自变量取值为:"<

for(i=0;i

{

cout<<"x"<

}

cout<<"迭代次数为:"<

}

用外点罚函数法编程计算;

Minf(X)=-x1+x2

S.t.g1(X)=lnx2≥0

h1(X)=x1+x2-1=0

取终止限ε=10^-5

下面先介绍基本知识:

外点法;

下面是迭代过程;

最后附上源代码;

function F=fun(x1,x2,m,u)

f=-x1+x2;

g=x2-1;

h=x1+x2-1;

F=f+m*h.^2+m*g.^2*u;

clear all

clc

m=1;c=10;d=10^(-15);

k=1;

fw(1)=fun(3,4,0,0);xw(:,1)=[3;4];

while 1

x(:,1)=[3;4];

if (x(2,1)-1>=0)

u=0;

else

u=1;

end

syms x1x2

ff=fun(x1,x2,m,u);

gg=jacobian(ff,[x1;x2])';

GG=jacobian([gg(1);gg(2)],[x1;x2]);

%=====================================

%一些初始值的计算

f(1)=subs(ff,{x1,x2},{x(1,1),x(2,1)});

g=subs(gg,{x1,x2},{x(1,1),x(2,1)});

G=subs(GG,{x1,x2},{x(1,1),x(2,1)});

i=1;

e=10;

while e>=10^(-10)

t(:,i)=(g'*g/(g'*G*g))*g;

x(:,i+1)=x(:,i)-t(:,i);

f(i+1)=fun(x(1,i+1),x(2,i+1),m,u);

g=subs(gg,{x1,x2},{x(1,i+1),x(2,i+1)});

G=subs(GG,{x1,x2},{x(1,i+1),x(2,i+1)});

e=f(i+1)-f(i);

i=i+1;

end

%=================================================== k=k+1;

fw(k)=f(i);xw(:,k)=x(:,i);

%//////////////////////////////////////////////////////////////// ////////////////

if abs(m*(x(1,i)+x(2,i)-1).^2+m*u*(x(2,i)-1).^2)<=d

disp('迭代过程X');

xw

fw

break;

else

m=m*c;

end

end

传热学数值计算大作业2014011673

数值计算大作业 一、用数值方法求解尺度为100mm×100mm 的二维矩形物体的稳态导热问题。物体的导热系数λ为1.0w/m·K。边界条件分别为: 1、上壁恒热流q=1000w/m2; 2、下壁温度t1=100℃; 3、右侧壁温度t2=0℃; 4、左侧壁与流体对流换热,流体温度tf=0℃,表面传热系数 h 分别为1w/m2·K、10 w/m2·K、100w/m2·K 和1000 w/m2·K; 要求: 1、写出问题的数学描述; 2、写出内部节点和边界节点的差分方程; 3、给出求解方法; 4、编写计算程序(自选程序语言); 5、画出4个工况下的温度分布图及左、右、下三个边界的热流密度分布图; 6、就一个工况下(自选)对不同网格数下的计算结果进行讨论; 7、就一个工况下(自选)分别采用高斯迭代、高斯——赛德尔迭代及松弛法(亚松弛和超松弛)求解的收敛性(cpu 时间,迭代次数)进行讨论; 8、对4个不同表面传热系数的计算结果进行分析和讨论。 9、自选一种商业软件(fluent 、ansys 等)对问题进行分析,并与自己编程计算结果进行比较验证(一个工况)。(自选项) 1、写出问题的数学描述 设H=0.1m 微分方程 22220t t x y ??+=?? x=0,0

y=H ,0

北航最优化方法大作业参考

北航最优化方法大作业参考

1 流量工程问题 1.1 问题重述 定义一个有向网络G=(N,E),其中N是节点集,E是弧集。令A是网络G的点弧关联矩阵,即N×E阶矩阵,且第l列与弧里(I,j)对应,仅第i行元素为1,第j行元素为-1,其余元素为0。再令b m=(b m1,…,b mN)T,f m=(f m1,…,f mE)T,则可将等式约束表示成: Af m=b m 本算例为一经典TE算例。算例网络有7个节点和13条弧,每条弧的容量是5个单位。此外有四个需求量均为4个单位的源一目的对,具体的源节点、目的节点信息如图所示。这里为了简单,省区了未用到的弧。此外,弧上的数字表示弧的编号。此时,c=((5,5…,5)1 )T, ×13 根据上述四个约束条件,分别求得四个情况下的最优决策变量x=((x12,x13,…,x75)1× )。 13 图 1 网络拓扑和流量需求

1.2 7节点算例求解 1.2.1 算例1(b1=[4;-4;0;0;0;0;0]T) 转化为线性规划问题: Minimize c T x1 Subject to Ax1=b1 x1>=0 利用Matlab编写对偶单纯形法程序,可求得: 最优解为x1*=[4 0 0 0 0 0 0 0 0 0 0 0 0]T 对应的最优值c T x1=20 1.2.2 算例2(b2=[4;0;-4;0;0;0;0]T) Minimize c T x2 Subject to Ax2=b2 X2>=0 利用Matlab编写对偶单纯形法程序,可求得: 最优解为x2*=[0 4 0 0 0 0 0 0 0 0 0 0 0]T 对应的最优值c T x2=20 1.2.3 算例3(b3=[0;-4;4;0;0;0;0]T) Minimize c T x3 Subject to Ax3=b3 X3>=0 利用Matlab编写对偶单纯形法程序,可求得: 最优解为x3*=[4 0 0 0 4 0 0 0 0 0 0 0 0]T 对应的最优值c T x3=40

数据挖掘期末大作业任务

数据挖掘期末大作业 1.数据挖掘的发展趋势是什么?大数据环境下如何进行数据挖掘。 对于数据挖掘的发展趋势,可以从以下几个方面进行阐述: (1)数据挖掘语言的标准化描述:标准的数据 挖掘语言将有助于数据挖掘的系统化开发。改进多个数据挖掘系统和功能间的互操作,促进其在企业和社会中的使用。 (2)寻求数据挖掘过程中的可视化方法:可视 化要求已经成为数据挖掘系统中必不可少的技术。可以在发现知识的过程中进行很好的人机交互。数据的可视化起到了推动人们主动进行知识发现的作用。 (3)与特定数据存储类型的适应问题:根据不 同的数据存储类型的特点,进行针对性的研究是目前流行以及将来一段时间必须面对的问题。 (4)网络与分布式环境下的KDD问题:随着 Internet的不断发展,网络资源日渐丰富,这就需要分散的技术人员各自独立地处理分离数据库的工作方式应是可协作的。因此,考虑适应分布式与网络环境的工具、技术及系统将是数据挖掘中一个最为重要和繁荣的子领域。 (5)应用的探索:随着数据挖掘的日益普遍,其应用范围也日益扩大,如生物医学、电信业、零售业等 领域。由于数据挖掘在处理特定应用问题时存在局限性,因此,目前的研究趋势是开发针对于特定应用的数据挖掘系统。 (6)数据挖掘与数据库系统和Web数据库系统的集成:数据库系统和Web数据库已经成为信息处 理系统的主流。 2. 从一个3输入、2输出的系统中获取了10条历史数据,另外,最后条数据是系统的输 入,不知道其对应的输出。请使用SQL SERVER 2005的神经网络功能预测最后两条数据的输出。 首先,打开SQL SERVER 2005数据库软件,然后在界面上右键单击树形图中的“数据库”标签,在弹出的快捷菜单中选择“新建数据库”命令,并命名数据库的名称为YxqDatabase,单击确定,如下图所示。 然后,在新建的数据库YxqDatabas中,根据题目要求新建表,相应的表属性见下图所示。

大工20春《数据挖掘》课程大作业满分答案

网络教育学院 《数据挖掘》课程大作业 题目: 姓名: 学习中心: 第一大题:讲述自己在完成大作业过程中遇到的困难,解决问题的思路,以及相关感想,或者对这个项目的认识,或者对Python与数据挖掘的认识等等,300-500字。 《数据挖掘》这门课程是一门实用性非常强的课程,数据挖掘是大数据这门前沿技术的基础,拥有广阔的前景,在信息化时代具有非常重要的意义。数据挖掘的研究领域非常广泛,主要包括数据库系统、基于知识的系统、人工智能、机器学习、知识获取、统计学、空间数据库和数据可视化等领域。学习过程中,我也遇到了不少困难,例如基础差,对于Python基础不牢,尤其是在进行这次课程作业时,显得力不从心;个别算法也学习的不够透彻。在接下来的学习中,我仍然要加强理论知识的学习,并且在学习的同时联系实际,在日常工作中注意运用《数据挖掘》所学到的知识,不断加深巩固,不断发现问题,解决问题。另外,对于自己掌握不牢的知识要勤复习,多练习,使自己早日成为一名合格的计算机毕业生。 第二大题:完成下面一项大作业题目。

2020春《数据挖掘》课程大作业 注意:从以下5个题目中任选其一作答。 题目一:Knn算法原理以及python实现 要求:文档用使用word撰写即可。 主要内容必须包括: (1)算法介绍。 (2)算法流程。 (3)python实现算法以及预测。 (4)整个word文件名为 [姓名奥鹏卡号学习中心](如 戴卫东101410013979浙江台州奥鹏学习中心[1]VIP )作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东101410013979浙江台州奥鹏学习中心[1]VIP) 以附件形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。 。 注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!

传热学大作业报告 二维稳态导热

传热学大作业报告二维稳态计算 院系:能源与环境学院 专业:核工程与核技术 姓名:杨予琪 学号:03311507

一、原始题目及要求 计算要求: 1. 写出各未知温度节点的代数方程 2. 分别给出G-S 迭代和Jacobi 迭代程序 3. 程序中给出两种自动判定收敛的方法 4. 考察三种不同初值时的收敛快慢 5. 上下边界的热流量(λ=1W/(m ℃)) 6. 绘出最终结果的等值线 报告要求: 1. 原始题目及要求 2. 各节点的离散化的代数方程 3. 源程序 4. 不同初值时的收敛快慢 5. 上下边界的热流量(λ=1W/(m ℃)) 6. 计算结果的等温线图 7. 计算小结 二、各节点的离散化的代数方程 左上角节点 )(21 1,22,11,1t t t +=

右上角节点 )(2 15,24,15,1t t t += 左下角节点 C t ?=1001,5 右下角节点 )2(211,24,55,5λ λ x h t t x h t ?++?+= 左边界节点 C t i ?=1001,,42≤≤i 上边界节点 C t j ?=200,1,42≤≤j 右边界节点 )2(415,15,14,5,+-++= i i i i t t t t ,42≤≤i 下边界节点 )42()2(211,51,5,4,5∞+-?+++?+=t x h t t t x h t j j j j λλ ,42≤≤j 内部节点 )(2 1,1,11,1,,j i j i j i j i j i t t t t t +-+-+++= ,4,2≤≤j i 三、源程序 1、G-S 迭代法 t=zeros(5,5); t0=zeros(5,5); dteps=0.0001; for i=2:5 %左边界节点 t(i,1)=100; end for j=2:4 %上边界节点 t(1,j)=200; end t(1,1)=(t(1,2)+t(2,1))/2; t for k=1:100 for i=2:4 %内部节点 for j=2:4 t(i,j)=(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))/4; end end t(1,5)=(t(1,4)+t(2,5))/2;%右上角节点 for i=2:4;%右边界节点 t(i,5)=(2*t(i,4)+t(i-1,5)+t(i+1,5))/4; end for j=2:4; %下边界节点

数据挖掘作业

1、给出K D D的定义和处理过程。 KDD的定义是:从大量数据中提取出可信的、新颖的、有用的且可以被人理解的模式的高级处理过程。因此,KDD是一个高级的处理过程,它从数据集中识别出以模式形式表示的知识。这里的“模式”可以看成知识的雏形,经过验证、完善后形成知识:“高级的处理过程”是指一个多步骤的处理过程,多步骤之间相互影响反复调整,形成一种螺旋式上升的过程。 KDD的全过程有五个步骤:1、数据选择:确定发现任务的操作对象,即目标数据,它是根据用户的需要从原始数据库中抽取的一组数据;2、数据预处理:一般可能包括消除噪声、推到技术却只数据、消除重复记录、完成数据类型转换等;3、数据转换:其主要目的是消减数据维数或降维,即从初始特征中找出真正有用的特征以减少数据开采时要考虑的特征或变量个数;4、数据挖掘:这一阶段包括确定挖掘任务/目的、选择挖掘方法、实施数据挖掘;5、模式解释/评价:数据挖掘阶段发现出来的模式,经过用户或机器的评价,可能存在冗余或无关的模式,需要剔除;也有可能模式不满足用户的要求,需要退回到整个发现阶段之前,重新进行KDD过程。 2、阐述数据挖掘产生的背景和意义。 ?数据挖掘产生的背景:随着信息科技的进步以及电子化时代的到来,人们以更快捷、更容易、更廉价的方式获取和存储数据,使得数据及信息量以指数方式增长。据粗略估计,一个中等规模企业每天要产生100MB以上的商业数据。而电信、银行、大型零售业每天产生的数据量以TB来计算。人们搜集的数据越来越多,剧增的数据背后隐藏着许多重要的信息,人们希望对其进行更高层次的分析,以便更好的利用这些数据。先前的数据库系统可以高效的实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系与规则,无法根据现有的数据来预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段。导致了“数据爆炸但知识贫乏”的现象。于是人们开始提出“要学会选择、提取、抛弃信息”,并且开始考虑:如何才能不被信息淹没?如何从中及时发现有用的知识、提高信息利用率?如何从浩瀚如烟海的资料中选择性的搜集他们认为有用的信息?这给我们带来了另一些头头疼的问题:第一是信息过量,难以消化;第二是信息真假难以辨别;第三是信息安全难以保证;第四是信息形式不一致,难以统一处理?

生活中的传热学(问答题整理答案)

硕士研究生《高等工程热力学与传热学》作业 查阅相关资料,回答以下问题: 1、一滴水滴到120度和400度的板上,哪个先干?试从传热学的角度分析? 答:在大气压下发生沸腾换热时,上述两滴水的过热度分别是△ t=tw–ts=20℃和△t=300℃,由大容器饱和沸腾曲线,前者表面发生的是泡态沸腾,后者发生膜态沸腾。虽然前者传热温差小,但其表面传热系数大,从而表面热流反而大于后者。所以水滴滴在120℃的铁板上先被烧干。 2、锅铲、汤勺、漏勺、铝锅等炊具的柄用木料制成,为什么? 答:是因为木料是热的不良导体,以便在烹任过程中不烫手。 3、滚烫的砂锅放在湿地上易破裂。为什么? 答:这是因为砂锅是热的不良导体, 如果把烧得滚热的砂锅,突然放到潮湿或冷的地方,砂锅外壁的热就很快地被传掉,而壁的热又一下子传不出来,外壁冷却很快的收缩,壁却还很热,没什么收缩,加以瓷特别脆,所以往往裂开。 或者:烫砂锅放在湿地上时,砂锅外壁迅速放热收缩而壁温度降低慢,砂锅外收缩不均匀,故易破裂。 4、往保温瓶灌开水时,不灌满能更好地保温。为什么? 答:因为未灌满时,瓶口有一层空气,是热的不良导体,能更好地防止热量散失。

5、煮熟后滚烫的鸡蛋放入冷水中浸一会儿,容易剥壳。为什么? 答:因为滚烫的鸡蛋壳与蛋白遇冷会收缩,但它们收缩的程度不一样,从而使两者脱离。 6、用焊锡的铁壶烧水,壶烧不坏,若不装水,把它放在火上一会儿就烧坏了。为什么? 答:这是因为水的沸点在1标准大气压下是100℃,锡的熔点是232℃,装水烧时,只要水不干,壶的温度不会明显超过100℃,达不到锡的熔点,更达不到铁的熔点,故壶烧不坏.若不装水在火上烧,不一会儿壶的温度就会达到锡的熔点,焊锡熔化,壶就烧坏了。 7、冬壶里的水烧开后,在离壶嘴一定距离才能看见“白气”,而紧靠壶嘴的地方看不见“白气”。这是因为紧靠壶嘴的地方温度高,壶嘴出来的水蒸气不能液化,而距壶嘴一定距离的地方温度低;壶嘴出来的水蒸气放热液化成小水滴,即“白气”。 答:这是因为紧靠壶嘴的地方温度高,壶嘴出来的水蒸气不能液化,而距壶嘴一定距离的地方温度低;壶嘴出来的水蒸气放热液化成小水滴,即“白气”。 8、某些表演者赤脚踩过炽热的木炭,从传热学角度解释为何不会烫伤?不会烫伤的基本条件是什么? 答:因为热量的传递和温度的升高需要一个过程,而表演者赤脚接触炽热木炭的时间极短,因此在这个极短的时间传递的温度有限,不足以达到令人烫伤的温度,所以不会烫伤。 基本条件:表演者接触炽热木炭的时间必须极短,以至于在这段时间所传递的热量不至于达到灼伤人的温度

最优化原理大作业

基于粒子群算法的神经网络在电液伺服系统中的应用 摘要:由于人工神经网络在解决具有非线性、不确定性等系统的控制问题上具有极大的潜力,因而在控制领域正引起人们的极大关注,并且已在一些响应较慢的过程控制中获得成功应用。由于电液伺服系统属 于非线性系统,因此本文利用神经网络控制电液伺服系统,并利用粒子群优化算法训练该神经网络的 权值。通过对神经网络的优化实现对电液伺服系统的控制。 关键词:神经网络电液伺服系统粒子群算法优化 近年来,由于神经网络具有大规模并行性、冗余性、容错性、本质的非线性及自组织自学习自适应能力,所以已成功地应用于众多领域。但在具有复杂非线性特性的机电设备的实时控制方面,虽然也有一些神经网络技术的应用研究,但距实用仍有一段距离。电液伺服系统就属于这类设备[1]。 神经网路在用于实时控制时,主要是利用了网络所具有的其输人——输出间的非线性映射能力。它实际上是通过学习来逼近控制对象的动、静态特性。也就是构造实际系统的神经网络模型[2]。本文利用神经网络控制一电液伺服系统,并利用粒子群优化算法训练该神经网络的权值,将结果与BP神经网络控制该系统的结果进行比较。从而得在电液伺服系统中引入神经网络是可行的。 1、粒子群算法 粒子群优化算法(Particle Swarm optimization, PSO)是一种进化计算技术, 由Eberhart博士和kennedy博士发明, 源于对鸟群捕食的行为研究, 粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解[3]。算法最初受到飞鸟和鱼类集群活动的规律性启发,利用群体智能建立了一个简化模型,用组织社会行为代替了进化算法的自然选择机制,通过种群间个体协作来实现对问题最优解的搜索[4]。 在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置 v[]=v[]+c1*rand()*(pbest[]-present[]) + c2*rand()*(gbest[]-present[]) present[]=persent[]+v[] 式中ω为惯性权重,ω取大值可使算法具有较强的全局搜索能力,ω取小值则算法倾向于局部搜索。一般的做法是将ω初始取0.9并使其随迭代次数的增加而线性递减至0.4,这样就可以先侧重于全局搜索,使搜索空间快速收敛于某一区域,然后采用局部精细搜索以获得高精度的解;c1、c2为两个学习因子,一般取为2;randl和rand2为两个均匀分布在(0,l)之间的随机数;i=1,2,?,m;k=1,2,?,d。另外,粒子在每一维的速度Vi都被一个最大速度Vmax所限制。如果当前粒子的加速度导致它在某一维的速度 超过该维上的最大速度Vmax,则该维的速度被限制为最大速度[5]。 粒子群算法流程如下: (一)初始化粒子群。设群体规模为m,在允许的范围内随机设置粒子的初始位置和速 度。 (二)评价每个粒子的适应值。 (三)调整每一个粒子的位置和速度。 (四)如果达到最大迭代次数genmax或误差达到最初设定数值终止迭代,否则返回(2)。 2、神经网络 神经网络一般由输入层、隐含层、输出层组成。对于输入信号,先向前传播到隐节点,经过节点作用函数后,再把隐节点的输出信息传播到输出节点,最后输出结果。节点的作用函数通常选取S 型函数f(x)=1/(1+e-x)。神经网络算法的学习过程分为正

数据挖掘作业

一:用R语言编程实现P56页19题 以19(2)为例编写R语言程序,其他小题程序类似1.余弦相似度 > x=c(0,1,0,1) > y=c(1,0,1,0) > xy=sum(x*y) > x1=sqrt(sum(x^2)) > y1=sqrt(sum(y^2)) > c=xy/(x1*y1) > c [1] 0 2.相关性 > x=c(0,1,0,1) > y=c(1,0,1,0) > xbar=mean(x) > ybar=mean(y) > len=length(x) > sx=sqrt((1/(len-1))*sum((x-xbar)^2)) > sy=sqrt((1/(len-1))*sum((y-ybar)^2)) > sxy=(1/(len-1))*sum((x-xbar)*(y-ybar)) > corrxy=sxy/(sx*sy) > corrxy

3.欧几里得距离 > x=c(0,1,0,1) > y=c(1,0,1,0) > dxy=sqrt(sum((x-y)^2)) > dxy [1] 2 4.Jaccard系数 > x=c(0,1,0,1) > y=c(1,0,1,0) > f00=f01=f10=f11=0 > len=length(x) > j=1 > while(j

西电数据挖掘大作业k-means和k-medoids

题 目: 数据挖掘 学 院: 电子工程学院 专 业: 智能科学和技术 学生姓名: ** 学 号: 02115*** k -means 实验报告 一、 waveform 数据 1、 算法描述 1. 从数据集{X n }n?1N 中任意选取k 个赋给初始的聚类中心c 1, c 2, …,

c k; 2.对数据集中的每个样本点x i,计算其和各个聚类中心c j的欧氏 距离并获取其类别标号: label(i)=arg min ||x i?c j||2,i=1,…,N,j=1,…,k 3.按下式重新计算k个聚类中心; c j=∑x j s:label(s)=j j ,j=1,2,…k 重复步骤2和步骤3,直到达到最大迭代次数为止2、实验结果 二、图像处理 1、算法描述 同上; 2、实验结果

代码: k_means: %%%%%%%%%K_means%%%%%%%% %%%%%%%%%函数说明%%%%%%%% %输入: % sample——样本集; % k ——聚类数目; %输出: % y ——类标(从0开始) % cnew ——聚类中心 % n ——迭代次数 function [y cnew n]=k_means(sample,k) [N V]=size(sample); %N为样本的个数 K为样本的维数 y=zeros(N,1); %记录样本类标 dist=zeros(1,k); rand_num=randperm(N); cnew=(sample(rand_num(1,1:k),:));%随机初始化聚类中心cold=zeros(k,V); n=0;

西安交通大学传热学大作业---二维温度场热电比拟实验

二维导热物体温度场的数值模拟

一、物理问题 有一个用砖砌成的长方形截面的冷空气通道,其截面尺寸如下图1-1所示,假设在垂直于纸面方向上用冷空气及砖墙的温度变化很小,可以近似地予以忽略。在下列两种情况下试计算: 砖墙横截面上的温度分布;垂直于纸面方向的每米长度上通过砖墙的导热量。 第一种情况:内外壁分别均匀维持在0℃及30℃; 第二种情况:内外壁均为第三类边界条件,且已知: K m K m W h C t K m W h C t ?=?=?=?=?=∞∞/35.0/93.3,10/35.10,302 22211λ砖墙导热系数 二、数学描写 由对称的界面必是绝热面,可取左上方的四分之一墙角为研究对象,该问题为二维、稳态、无内热源的导热问题。 控制方程: 02 222=??+??y t x t 边界条件: 第一种情况: 由对称性知边界1绝热: 0=w q ; 边界2为等温边界,满足第一类边界条件: C t w ?=0; 边界3为等温边界,满足第一类边界条件: C t w ?=30。 第一种情况: 由对称性知边界1绝热: 0=w q ; 边界2为对流边界,满足第三类边界条件: )()( 2f w w w t t h n t q -=??-=λ; 边界3为对流边界,满足第三类边界条件: )()(2f w w w t t h n t q -=??-=λ。 1 -1图2 -1图

三、方程离散 用一系列与坐标轴平行的间隔0.1m 的二维网格线将温度区域划分为若干子区域,如图1-3所示。 采用热平衡法,利用傅里叶导热定律和能量守恒定律,按照以导入元体(m,n )方向的热流量为正,列写每个节点代表的元体的代数方程, 第一种情况: 边界点: 边界1(绝热边界): 5~2)2(4 1 1,11,12,1,m =++= +-m t t t t m m m , 11~8)2(4 1 1,161,16,15,16=++=+-n t t t t n n n n , 边界2(等温内边界): 7,16~7;7~1,6,0,=====n m n m t n m 边界3(等温外边界): 12,16~2;12~1,1,30,=====n m n m t n m 内节点: 11 ~8,15~6;11~2,5~2)(41 1,1,,1,1,====+++= -+-+n m n m t t t t t n m n m n m n m n m 第二种情况 边界点: 边界1(绝热边界): 5~2)2(4 1 1,11,12,1 ,m =++=+-m t t t t m m m , 11~8)2(4 1 1,161,16,15,16=++=+-n t t t t n n n n , 边界2(内对流边界): 6~1) 2(2221 11,61,6,5,6=++++= ??-+n Bi t Bi t t t t n n n n , 3 -1图

最优化方法大作业答案

1.用薄钢板制造一体积5m 3,长度不小于4m ,无上盖的货箱,要求钢板耗量最小。确定货箱的长x 1、宽x 2和高x 3。试列出问题的数学模型。 解:min 32312122x x x x x x z ++= s.t 5321=x x x 41≥x 0,,321≥x x x 2.将下面的线性规划问题表示为标准型并用单纯形法求解 max f=x 1+2x 2+x 3 s .t .2x 1+x 2-x 3≤2 -2x 1+x 2-5x 3≥-6 4x 1+x 2+x 3≤6 x i ≥0 i=1,2,3 解:先化标准形: Min 321x x x z -+= 224321=+-+x x x x 6525321=++-x x x x 646321=+++x x x x 列成表格:

1 2 1 610011460105122001112----- 可见此表已具备1°,2°,3°三个特点,可采用单纯形法。首先从底行中选元素-1,由2/2,6/2,6/4最小者决定选第一行第一列的元素2,标以记号,迭代一次得 1 2 1 2102310401162010021212 11-------- 再从底行中选元素-2/3,和第二列正元素1/2,迭代一次得 1 2 12 32 30 210231040116201002121211- ------ 再从底行中选元素-3,和第二列正元素2,迭代一次得 4 2 3 3 410120280114042001112--- 再迭代一次得 10 2 30 2 10 6 221023 1010213000421021013-- 选取最优解:

数据挖掘大作业

1.音乐分类的数据集 在这个题目中,使用了SVM分类器和贝叶斯分类器,并通过sklearn库中的GridSearchCV方法对SVM分类模型的参数进行调优,使最终的正确率提高了5个百分点左右。但仍没有文档中的论文达到的分类正确率高,因为论文中的分类器的设计使专一对音乐音调分类的,其中设计到神经网络和深度学习的一些方法。而我使用的分类器使对大部分分类问题都有效的方法。下面是对数据集的一个简单的介绍: 数据标签 第3-14列:YES or NO 第15列:共16个取值('D', 'G#', 'D#', 'Bb', 'Db', 'F#', 'Eb', 'F', 'C#', 'Ab', 'B', 'C', 'A#', 'A', 'G', 'E') 第16列:共5个取值(1,2,3,4,5) 第17列:共102个类别('C#M', 'F_m', 'D_m', 'D_d7', 'G#m', 'D_m6', 'C_m6', 'C_d7', 'F_M', 'D_M', 'BbM7', 'F#d', 'C#d', 'E_d', 'F_d7', 'F#d7', 'G_m', 'C#d7', 'AbM', 'EbM', 'D#d', 'Bbm6', 'G_M7', 'F#m6', 'Dbd', 'B_m6', 'G#M', 'D_m7', 'B_M', 'F#M7', 'Bbm', 'A#d', 'D#d7', 'Abd', 'G_M', 'F#M4', 'E_M', 'A_M4', 'E_m7', 'D#M', 'C_M7', 'A_m6', 'Dbm', 'A#d7', 'F#M', 'C#m7', 'F_m7', 'C_M', 'C#M4', 'F_M6', 'A_M', 'G_m6', 'D_M4', 'F_M7', 'B_M7', 'E_M4', 'E_m6', 'A_m4', 'G#d', 'C_m7', 'C_M6', 'Abm', 'F_m6', 'G_m7', 'F_d', 'Bbd', 'G_M4', 'B_d', 'A_M7', 'E_m', 'C#M7', 'DbM', 'EbM7', 'C#d6', 'F#m', 'G_M6', 'G_d', 'Dbd7', 'B_m7', 'DbM7', 'D_M6', 'D#d6', 'G#d7', 'A_m7', 'B_d7', 'B_M4', 'A_d', 'A_m', 'C_d6', 'D#m', 'C_M4', 'A_M6', 'BbM', 'C#m', 'D_M7', 'E_M7', 'F_M4', 'F#m7', 'Dbm7', 'B_m', 'C_m', 'Ebd') 这是一个多分类问题 1.1数据读取与训练集和测试集分离

西安交通大学传热学大作业

《传热学》上机大作业 二维导热物体温度场的数值模拟 学校:西安交通大学 姓名:张晓璐 学号:10031133 班级:能动A06

一.问题(4-23) 有一个用砖砌成的长方形截面的冷空气通道,形状和截面尺寸如下图所示,假设在垂直纸面方向冷空气和砖墙的温度变化很小,差别可以近似的予以忽略。在下列两种情况下计算:砖墙横截面上的温度分布;垂直于纸面方向上的每米长度上通过墙砖上的导热量。 第一种情况:内外壁分别维持在10C ?和30C ? 第二种情况:内外壁与流体发生对流传热,且有C t f ?=101, )/(2021k m W h ?=,C t f ?=302,)/(422k m W h ?=,K m W ?=/53.0λ

二.问题分析 1.控制方程 02222=??+??y t x t 2.边界条件 所研究物体关于横轴和纵轴对称,所以只研究四分之一即可,如下图: 对上图所示各边界: 边界1:由对称性可知:此边界绝热,0=w q 。 边界2:情况一:第一类边界条件 C t w ?=10 情况二:第三类边界条件

)()( 11f w w w t t h n t q -=??-=λ 边界3:情况一:第一类边界条件 C t w ?=30 情况二:第三类边界条件 )()( 22f w w w t t h n t q -=??-=λ 三:区域离散化及公式推导 如下图所示,用一系列和坐标抽平行的相互间隔cm 10的网格线将所示区域离散化,每个交点可以看做节点,该节点的温度近似看做节点所在区域的平均温度。利用热平衡法列出各个节点温度的代数方程。 第一种情况: 内部角点:

最优化方法大作业答案

武工院你们懂的 1.用薄钢板制造一体积5m 3,长度不小于4m ,无上盖的货箱,要求钢板耗量最小。确定货箱的长x 1、宽x 2和高x 3。试列出问题的数学模型。 解:min 32312122x x x x x x z ++= s.t 5321=x x x 41≥x 0,,321≥x x x 2.将下面的线性规划问题表示为标准型并用单纯形法求解 max f=x 1+2x 2+x 3 s .t .2x 1+x 2-x 3≤2 -2x 1+x 2-5x 3≥-6 4x 1+x 2+x 3≤6 x i ≥0 i=1,2,3 解:先化标准形: Min 321x x x z -+= 224321=+-+x x x x 6525321=++-x x x x 646321=+++x x x x

列成表格: 00001216 100114 60105122001112----- 可见此表已具备1°,2°,3°三个特点,可采用单纯形法。首先从底行中选元素-1,由2/2,6/2,6/4最小者决定选第一行第一列的元素2,标以记号,迭代一次得 0000 1 2 121023 10 40116201002 1 21 211-------- 再从底行中选元素-2/3,和第二列正元素1/2,迭代一次得 1 002 1232 30210231 040116201002121211-- ----- 再从底行中选元素-3,和第二列正元素2,迭代一次得 4002 3 03410120280114042001112--- 再迭代一次得

10 23021 062 21023 1010 213 000421 2 10 13- - 选取最优解: 01=x 42=x 23=x 3. 试用DFP 变尺度法求解下列无约束优化问题。 min f (X )=4(x 1-5)2+(x 2-6)2 取初始点X=(8,9)T ,梯度精度ε=0.01。 解:取I H =0,初始点()T X 9,8= 2221)6()5(4)(-+-=x x x f ??????--=?122408)(21x x x f ???? ??=?624)() 0(x f T x f d )6,24()()0()0(--=-?= )0(0)0()1(d x x α+= T )69,248(00αα--= ])669()5248(4min[)(min 2020)0(0)0(--+--?=+αααd x f )6()63(2)24()2458(8) (00)0(0)0(=-?-+-?--=+ααααd d x df 13077.013017 0≈= α ???? ??=???? ??--?+???? ??=21538.886153.462413077.098)1(x

北邮数据挖掘作业

北京邮电大学 2015-2016学年第1学期实验报告 课程名称:数据仓库与数据挖掘 实验名称:文本的分类 实验完成人: 姓名:学号: 日期: 2015 年 12 月

实验一:文本的分类 1.实验目的 1. 了解一些数据挖掘的常用算法,掌握部分算法; 2. 掌握数据预处理的方法,对训练集数据进行预处理; 3. 利用学习的文本分类器,对未知文本进行分类判别; 4. 掌握评价分类器性能的评估方法。 2.实验分工 数据准备、预处理、LDA主题模型特征提取实现、SVM算法都由范树全独立完成。 3.实验环境 ●操作系统:win7 64bit 、Ubuntu-14.04-trusty ●开发环境:java IDE eclipse 、Python IDLE 4.主要设计思想 4.1实验工具介绍 1.Scrapy 0.25 所谓网络爬虫,就是一个抓取特定网站网页的HTML数据的程序。不过由于一个网站的网页很多,而我们又不可能事先知道所有网页的URL地址,所以,如何保证我们抓取到了网站的所有HTML页面就是一个有待考究的问题了。一般的方法是,定义一个入口页面,然后一般一个页面会有其他页面的URL,于是从当前页面获取到这些URL加入到爬虫的抓取队列中,然后进入到新页面后再递归的进行上述的操作,其实说来就跟深度遍历或广度遍历一样。 Scrapy是一个基于Twisted,纯Python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用Twisted这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。 2.JGibbLDA-v.1.0 jGibbLDA是java版本的LDA实现,它使用Gibbs采样来进行快速参数估计和推断。LDA 是一种由基于概率模型的聚类算法。该算法能够对训练数据中的关键项集之于类簇的概率参数拟合模型,进而利用该参数模型实施聚类和分类等操作。 3.ICTCLAS50 中科院计算技术研究所在多年研究基础上,耗时一年研制出了基于多层隐码模型的汉语词法分析系统ICTCLAS,该系统有中文分词,词性标注,未登录次识别等功能。 4.libSVM-3.20 libSVM是台湾大学林智仁教授等开发设计的一个简单、易用和快速有效的SVM模式识

最优化方法大作业

发动机空燃比控制器 引言:我主要从事自动化相关研究。这里介绍我曾经接触过的发动机空燃比控制器设计中的优化问题。 发动机空燃比控制器设计中的最优化问题 AFR =a f m m && (1) 空燃比由方程(1)定义,在发动机运行过程中如果控制AFR 稳定在14.7可以获 得最好的动力性能和排放性能。如果假设进入气缸的空气流量a m &可以由相关单元检测得到,则可以通过控制进入气缸的燃油流量f m &来实现空燃比的精确控制。由于实际发动机的燃油喷嘴并不是直接对气缸喷燃油,而是通过进气歧管喷燃油,这么做会在进 气歧管壁上液化形成油膜,因此不仅是喷嘴喷出的未液化部分燃油会进入气缸,油膜 蒸发部分燃油也会进入气缸,如方程(2)。这样如何更好的喷射燃油成为了一个问题。 1110101122211ττττ?? ?? -?? ??????????=+????????-????????????-???? ? ??? ?? ????????? ?f f f v X x x u x x X x y =x && (2) 其中12、,==ff fv x m x m &&=f y m &,=fi u m &这里面,表示油膜蒸发量ff m &、fv m &表示为液化部分燃油、fi m &表示喷嘴喷射的燃油,在τf 、τv 、X 都已知的情况下,由现代控制理论知识,根据系统的增广状态空间模型方程(3) 0000001 1 011011114.70ττττ????-?? ??????????=-+-??????????????? ??????????????? ?? ??=?????? f f v v a X X u +q q m y q x x x &&& (3) 其中()0 14.7?t a q = y -m &。由极点配置方法,只要设计控制器方程(4),就可以 使得y 无差的跟踪阶跃输入,那么y 也能较好的跟踪AFR *a m /&。 12-- u =K q K x (4) 这里面的12、K K 确定,可由主导极点概念降维成两个参数12C ,C ,虽然都是最终稳态无差,但是目标是使得瞬态过程中y 和阶跃输入y r 的差异尽可能的小。所以原问

数据挖掘离线作业

浙江大学远程教育学院 《数据挖掘》课程作业 姓名:学号: 年级:学习中心:————————————————————————————— 第一章引言 一、填空题 (1)数据库中的知识挖掘(KDD)包括以下七个步骤:数据清理、数据集成、数据选择、数据交换、数据挖掘、模式评估和知识表示 (2)数据挖掘的性能问题主要包括:算法的效率、可扩展性和并行处理 (3)当前的数据挖掘研究中,最主要的三个研究方向是:统计学、数据库技术和机器学习 (4)孤立点是指:一些与数据的一般行为或模型不一致的孤立数据 二、简答题 (1)什么是数据挖掘? 答:数据挖掘指的是从大量的数据中挖掘出那些令人感兴趣的、有用的、隐含的、先前未知的和可能有用的模式或知识。 (2)一个典型的数据挖掘系统应该包括哪些组成部分? 答:一个典型的数据挖掘系统应该包括以下部分:1、数据库、数据仓库或其他信息库,2、数据库或数据仓库服务器,3、知识库,4、数据挖掘引擎,5、模式评估魔磕,6图形用户界面。 (3)Web挖掘包括哪些步骤? 答:数据清理:(这个可能要占用过程60%的工作量)、数据集成、将数据存入数据仓库、建立数据立方体、选择用来进行数据挖掘的数据、数据挖掘(选择适当的算法来找到感兴趣的模式)、展现挖掘结果、将模式或者知识应用或者存入知识库。 (4)请列举数据挖掘应用常见的数据源。 (或者说,我们都在什么样的数据上进行数据挖掘) 答:常见的数据源包括关系数据库、数据仓库、事务数据库和高级数据库系统和信息库。其中高级数据库系统和信息库包括:空间数据库、时间数据库和时间序列数据库、流数据、多媒体数据库、面向对象数据库和对象——关系数据库、异种数据库和遗产数据库、文本数据库和万维网等。

大连理工优化方法大作业MATLAB编程

function [x,dk,k]=fjqx(x,s) flag=0; a=0; b=0; k=0; d=1; while(flag==0) [p,q]=getpq(x,d,s); if (p<0) b=d; d=(d+a)/2; end if(p>=0)&&(q>=0) dk=d; x=x+d*s; flag=1; end k=k+1;

if(p>=0)&&(q<0) a=d; d=min{2*d,(d+b)/2}; end end %定义求函数值的函数fun,当输入为x0=(x1,x2)时,输出为f function f=fun(x) f=(x(2)-x(1)^2)^2+(1-x(1))^2; function gf=gfun(x) gf=[-4*x(1)*(x(2)-x(1)^2)+2*(x(1)-1),2*(x(2)-x(1)^2)]; function [p,q]=getpq(x,d,s) p=fun(x)-fun(x+d*s)+0.20*d*gfun(x)*s'; q=gfun(x+d*s)*s'-0.60*gfun(x)*s'; 结果: x=[0,1]; s=[-1,1]; [x,dk,k]=fjqx(x,s) x =-0.0000 1.0000 dk =1.1102e-016 k =54

function f= fun( X ) %所求问题目标函数 f=X(1)^2-2*X(1)*X(2)+2*X(2)^2+X(3)^2+ X(4)^2- X(2)*X(3)+2*X(1)+3*X(2)-X(3); end function g= gfun( X ) %所求问题目标函数梯度 g=[2*X(1)-2*X(2)+2,-2*X(1)+4*X(2)-X(3)+3,2*X(3)-X(2)-1,2*X(4)]; end function [ x,val,k ] = frcg( fun,gfun,x0 ) %功能:用FR共轭梯度法求无约束问题最小值 %输入:x0是初始点,fun和gfun分别是目标函数和梯度 %输出:x、val分别是最优点和最优值,k是迭代次数 maxk=5000;%最大迭代次数 rho=0.5;sigma=0.4;

相关文档
最新文档