优化设计实验报告

机械优化设计

姓名:欧阳龙

学号:2007500817

班级:07机设一班一、黄金分割法

1、 数学模型

2()2f x x x =+,56x -≤≤

2、 黄金分割法简介

黄金分割法适用于单谷函数求极小值问题,且函数可以不连续。黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间[],a b 内适当插入两点1α、2α,并计算其函数值。1α、2α将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。然后再在保留下来的区间上作同样的处置,如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。黄金分割法能使相邻两次都具有相同的缩短率0.618,故黄金分割法又称作0.618法。

3、黄金分割法程序清单

#include

#include

/*目标函数*/

float ff(float x)

{

float y;

y=x*x+2*x;

return(y);

}

main()

{

float a,b,ab,Epsilon;

float y1,y2,Alpha1,Alpha2;

float Lambda=0.618;

printf("please input the arear and Epsilon\n");

scanf("%f,%f,%f",&a,&b,&Epsilon);

Alpha1=b-Lambda*(b-a),Alpha2=a+Lambda*(b-a);

printf("%f,%f\n",Alpha1,Alpha2);

y1=ff(Alpha1);y2=ff(Alpha2);

printf("y1=%f,y2=%f\n",y1,y2);

do

{if(y1>=y2)

{a=Alpha1;

Alpha1=Alpha2;

y1=y2;

Alpha2=a+Lambda*(b-a);

y2=Alpha2*Alpha2+2*Alpha2;

}

else{

b=Alpha2;

Alpha2=Alpha1;

y2=y1;

Alpha1=b-Lambda*(b-a);

y1=Alpha1*Alpha1+2*Alpha1;

}

printf("a=%f,b=%f,y1=%f,y2=%f\n",a,b,y1,y2);

}while(!(abs((b-a)/b)

ab=0.5*(a+b);

y1=ff(ab);

printf("the result is :%f",y1);

getch();

}

4、运行结果:

一、 变尺度法

1、 数学模型

2112

22121248),(x x x x x x x F --+=

2、 变尺度法简介

基本思想:

(1) 用简单矩阵代替二阶导数矩阵的逆矩阵12()k f X -⎡⎤∇⎣⎦ (2) 用坐标变换简化目标函数

具体如下:

当用牛顿法寻求极小点时,其牛顿迭代公式为

11(0,1,2)k k k k k x x G g k α+-=-=

其中

在迭代中建立变尺度矩阵()k k H H x ≡来替换1k G -,即构造一个矩阵序列{}k H 来逼近

海赛逆矩阵序列{}

1k G -。每迭代一次,尺度就改变一次,这正是“变尺度”的含义。这样,上式变为

11(0,1,2)k k k k k x

x G g k α+-=-= 其中k α是从k x 出发,沿方向 k k k d H g =-作一维搜索而得到

的最佳步长。当k H I (单位矩阵)时,它就变成最速下降法。这就是变尺度法的基本思想。

变尺度法程序清单:

/*计算 f(x1,x2)=x1^2+8*x2^2-4*x1-2*x1*x2 的无约束极值,初始点x0=[1,1]。

tt ---- 一维搜索初始步长

ff ---- 差分法求梯度时的步长

ac ---- 终止迭代收敛精度

ad ---- 一维搜索收敛精度

n ----- 设计变量的维数

xk[n] -- 迭代初始点

*/

#include

#include

#include

#include

#define tt 0.01

#define ff 1.0e-6

#define ac 1.0e-6

#define ad 1.0e-6

#define n 8

double ia;

double fny(double *x)

{

double x1=x[0],x2=x[1];

double f;

f=x1*x1+8*x2*x2-4*x1-2*x1*x2;

return f;

}

double * iterate(double *x,double a,double *s)

{

double *x1;

int i;

x1=(double *)malloc(n*sizeof(double));

for(i=0;i

x1[i]=x[i]+a*s[i];

return x1;

}

double func(double *x,double a,double *s)

{

double *x1;

double f;

x1=iterate(x,a,s);

f=fny(x1);

return f;

}

void finding(double a[3],double f[3],double *xk,double *s) {

double t=tt;

int i;

double a1,f1;

a[0]=0;f[0]=func(xk,a[0],s);

for(i=0;;i++)

{

a[1]=a[0]+t;

f[1]=func(xk,a[1],s);

if(f[1]

if(fabs(f[1]-f[0])>=ad)

{

t=-t;

a[0]=a[1];f[0]=f[1];

}

else

{

if(ia==1) return;

t=t/2;ia=1;

}

}

for(i=0;;i++)

{

a[2]=a[1]+t;

f[2]=func(xk,a[2],s);

if(f[2]>f[1]) break;

t=2*t;

a[0]=a[1];f[0]=f[1];

a[1]=a[2];f[1]=f[2];

}

if(a[0]>a[2])

{

a1=a[0];

f1=f[0];

a[0]=a[2];

f[0]=f[2];

a[2]=a1;

f[2]=f1;

}

return;

}

double lagrange(double *xk,double *ft,double *s)

{

int i;

double a[3],f[3];

double b,c,d,aa;

finding(a,f,xk,s);

for(i=0;;i++)

{

if(ia==1) { aa=a[1]; *ft=f[1]; break; }

d=(pow(a[0],2)-pow(a[2],2))*(a[0]-a[1])-(pow(a[0],2)-pow(a[1],2))*(a[0]-a[2]);

if(fabs(d)==0) break;

c=((f[0]-f[2])*(a[0]-a[1])-(f[0]-f[1])*(a[0]-a[2]))/d;

if(fabs(c)==0) break;

b=((f[0]-f[1])-c*(pow(a[0],2)-pow(a[1],2)))/(a[0]-a[1]);

aa=-b/(2*c);

*ft=func(xk,aa,s);

if(fabs(aa-a[1])<=ad) {if(*ft>f[1]) aa=a[1];break;}

if(aa>a[1])

{

if(*ft>f[1]) {a[2]=aa;f[2]=*ft;}

else if(*ft

else if(*ft==f[1])

{

a[2]=aa;a[0]=a[1];

f[2]=*ft;f[0]=f[1];

a[1]=(a[0]+a[2])/2;

f[1]=func(xk,a[1],s);

}

}

else

{

if(*ft>f[1]) {a[0]=aa;f[0]=*ft;}

else if(*ft

{a[0]=aa;a[2]=a[1];

f[0]=*ft;f[2]=f[1];

a[1]=(a[0]+a[2])/2;

f[1]=func(xk,a[1],s);

}

}

}

if(*ft>f[1]) {*ft=f[1];aa=a[1];}

return aa;

}

double *gradient(double *xk)

{

double *g,f1,f2,q;

int i;

g=(double*)malloc(n*sizeof(double));

f1=fny(xk);

for(i=0;i

{q=ff;

xk[i]=xk[i]+q; f2=fny(xk);

g[i]=(f2-f1)/q; xk[i]=xk[i]-q;

}

return g;

}

double * bfgs(double *xk)

{

double u[n],v[n],h[n][n],dx[n],dg[n],s[n];

double aa,ib;

double *ft,*xk1,*g1,*g2,*xx,*x0=xk;

double fi;

int i,j,k;

ft=(double *)malloc(sizeof(double));

xk1=(double *)malloc(n*sizeof(double));

for(i=0;i

{

s[i]=0;

for(j=0;j

{

h[i][j]=0;

if(j==i) h[i][j]=1;

}

}

g1=gradient(xk);

fi=fny(xk);

x0=xk;

for(k=0;k

{

ib=0;

if(ia==1) { xx=xk; break; }

ib=0;

for(i=0;i

for(i=0;i

for(j=0;j

s[i]+= -h[i][j]*g1[j];

aa=lagrange(xk,ft,s);

xk1=iterate(xk,aa,s);

g2=gradient(xk1);

for(i=0;i

if((fabs(g2[i])>=ac)&&(fabs(g2[i]-g1[i])>=ac))

{ib=ib+1;}

if(ib==0) { xx=xk1; break; }

fi=*ft;

if(k==n-1)

{ int j;

xk=xk1;

for(i=0;i

for(j=0;j

{

h[i][j]=0;

if(j==i) h[i][j]=1;

}

g1=g2; k=-1;

}

else

{

int j;

double a1=0,a2=0;

for(i=0;i

{

dg[i]=g2[i]-g1[i];

dx[i]=xk1[i]-xk[i];

}

for(i=0;i

{

int j;

u[i]=0;v[i]=0;

for(j=0;j

{

u[i]=u[i]+dg[j]*h[j][i];

v[i]=v[i]+dg[j]*h[i][j];

}

}

for(j=0;j

{

a1+=dx[j]*dg[j];

a2+=v[j]*dg[j];

}

if(fabs(a1)!=0)

{

a2=1+a2/a1;

for(i=0;i

for(j=0;j

h[i][j]+=(a2*dx[i]*dx[j]-v[i]*dx[j]-dx[i]*u[j])/a1;

}

xk=xk1; g1=g2;

}

}

if(*ft>fi) { *ft=fi; xx=xk;}

xk=x0;

return xx;

}

void main ()

{

int k;

double *xx,f;

double xk[n]={1,1};

xx=bfgs(xk);

f=fny(xx);

printf("\n\nThe Optimal Design Result Is:\n");

for(k=0;k

{printf("\nk=%d\n\tx[%d]*=%f",k,k+1,xx[k]);}

printf("\n\tf*=%f",f);

getch();

}

4、运行结果:

三、复合形法

1、数学模型

168,F 2

22121--=x x x x )(

2、复合形法简介

复合形法是指n 维空间上取k (12n k n +≤≤)个点作为顶点所构成的n 维超多面体。

(1)基本思路:在可行域内选取若干初始点,并以之为顶点构成一个多面体(复合形),然后比较个顶点的函数值,去掉最坏点,代之以好的新点,并构成新的复合形,以逼近最优点。

(2)初始复合形的生成

法一:由设计者根据问题性质,自行确定K 个可行点来生成复合形

法二:设计者选择一个可行点,其它由随机函数来生成(K-1)个

(),1,2,

,j j x a r b a j k =+-= 式中:j r 是随机函数生的随机数。

法三:全部由计算机自动生成初始复合形的全部顶点。

(3) 复合形法的搜索方法

一、反射 二、扩张 三、收缩 四、压缩

3、复合形法程序清单:

/*已知:F(x1,x2)=8*x1-x2的平方-16;求极小值,极小值点,迭代次数?用复合形法求极值。

约束条件:x2>=0;

x1>=0;

25-x1的平方-x2的平方>=0;*/

#include

#include

#define EP 0.0001

#define E 0.001

#define fori for(i=0;i<=1;i++)

int i;

float f(float *p)

{

float y;

y=8*p[0]-pow(p[1],2)-16;

return(y);

}

int cons(float *q)

{

int n;

if((pow(q[0],2)+pow(q[1],2)-25<=0)&&(q[0]>=0)&&(q[1]>=0))

n=1;

else

n=0;

return(n);

}

void paixu(float *p1,float *p2,float *p3)

{

float f1,f2,f3;

float L[2],M[2],H[2];

f1=f(p1);

f2=f(p2);

f3=f(p3);

fori { H[i]=p1[i];M[i]=p2[i];L[i]=p3[i];}

if(f1>f2)

{

if(f2

if(f1>f3)

fori { M[i]=p3[i];L[i]=p2[i];}

else

fori { H[i]=p3[i];M[i]=p1[i];L[i]=p2[i];}

}

else

if(f2

fori { H[i]=p3[i];L[i]=p1[i];}

else

if(f1>f3)

fori { H[i]=p2[i];M[i]=p1[i];L[i]=p3[i];}

else

fori { H[i]=p2[i];M[i]=p3[i];L[i]=p1[i];}

fori { p1[i]=H[i];p2[i]=M[i];p3[i]=L[i];}

}

float r()

{

float rr;

do

rr=rand();

while(rr<=0);

rr=rr/32767;

return(rr);

}

main()

{

float x1[2]={2,1},x2[2]={4,1},x3[2]={3,3};

float XC[2],XR[2],A[2],B[2];

float H=1.3,FH,FR,FC,FL,cha,min,S;

int tf,tf1,tf2,j=1;

do

{

do

{

paixu(x1,x2,x3);

/*

fori printf("\n X1%d is %f,X2%d is %f,X3%d is %f.",i,x1[i],i,x2[i],i,x3[i]);

*/

fori XC[i]=(x2[i]+x3[i])/2;

/*

fori printf("\n XC%d is %f.",i,XC[i]);

*/

tf1=cons(XC);

if(tf1==0)

{

FC=f(XC);

FL=f(x3);

if(FL

fori { A[i]=x3[i];B[i]=XC[i];}

else

fori { A[i]=XC[i];B[i]=x3[i];}

do

{ S=r();x1[i]=A[i]+S*(B[i]-A[i]);tf2=cons(x1);}

while(tf2==0);

do

{ S=r();x2[i]=A[i]+S*(B[i]-A[i]);tf2=cons(x2);}

while(tf2==0);

do

{ S=r();x3[i]=A[i]+S*(B[i]-A[i]);tf2=cons(x3);}

while(tf2==0);

}

}

while(tf1==0);

fori XR[i]=XC[i]+H*(XC[i]-x1[i]);

/*

fori printf("\n XR%d is %f.",i,XR[i]);

*/

FH=f(x1);

FR=f(XR);

tf=cons(XR);

if(tf&&(FR

{

fori x1[i]=XR[i];

/*

printf("\n 1");

*/

}

else

H=H/2;

/*

printf("\n H is %f.",H);

*/

if(H

fori { x1[i]=x2[i];H=1.3;}

cha=(pow((f(x1)-f(x3)),2)+pow((f(x2)-f(x3)),2))/2;

/*

printf("/n Cha is %f.",cha);

*/

printf("i=%d\tFH=%f\tFR=%f\tFC=%f\tFL=%f\n",j++,FH,FR,FC,FL);/**/

}

while(cha>E);

min=f(x3);

printf("\n The Min is %f.",min);

fori printf("\n The X%d is %f.",i,x3[i]);

getch();

4、运行结果:

插床实验报告

实验报告 一、实验课题:插床机械优化设计 二、工作原理: 插床机械系统的执行机构主要是由导杆机构和凸轮机构组成。下图为其参考示意图,电动机经过减速传动装置(皮带和齿轮传动)带动曲柄2转动,再通过导杆机构使装有刀具的滑块6沿导路y—y作往复运动,以实现刀具的切削运动。刀具向下运动时切削,在切削行程H中,前后各有一段0.05H的空刀距离,工作阻力F为常数;刀具向上运动时为空回行程,无阻力。为了缩短回程时间,提高生产率,要求刀具具有急回运动。刀具与工作台之间的进给运动,是由固结于轴O2上的凸轮驱动摆动从动件lO8D和其它有关机构(图中未画出)来完成的。 三、设计要求: 电动机轴与曲柄轴2平行,使用寿命10年,每日一班制工作,载荷有轻微冲击。允许曲柄2转速偏差为±5%。要求导杆机构的最小传动角不得小于60o;凸轮机构的最大压力角应在许用值[α]之内,摆动从动件9的升、回程运动规律均为等加速等减速运动。执行构件的传动效率按0.95计算,系统有过载保护。按小批量生产规模设计。 四、试验原始数据: 转速n(r/min):50; 曲柄l2(mm):75; 插刀行程H(mm):130; 行程速比系数K:2.0 五、设计内容: 1、根据插床机械的工作原理,拟定2~3个其他形式的执行机构(连杆机构),并对这 些机构进行分析对比。 2、根据给定的数据确定机构的运动尺寸, lBC=(0.5~0.6)lBO4。要求用图解法设计, 并将设计结果和步骤写在设计说明书中。 3、导杆机构的运动分析。将导杆机构放在直角坐标系下,建立参数化的数学模型。利 用ADAMS软件分析出滑块6的位移、速度、加速度及导杆4的角速度和角加速度运

优化设计实验报告

机械优化设计 实 验 报 告 姓名:欧阳龙 学号:2007500817 班级:07机设一班一、黄金分割法

1、 数学模型 2()2f x x x =+,56x -≤≤ 2、 黄金分割法简介 黄金分割法适用于单谷函数求极小值问题,且函数可以不连续。黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间[],a b 内适当插入两点1α、2α,并计算其函数值。1α、2α将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。然后再在保留下来的区间上作同样的处置,如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。黄金分割法能使相邻两次都具有相同的缩短率0.618,故黄金分割法又称作0.618法。 3、黄金分割法程序清单 #include #include /*目标函数*/ float ff(float x) { float y; y=x*x+2*x; return(y); } main() { float a,b,ab,Epsilon; float y1,y2,Alpha1,Alpha2; float Lambda=0.618; printf("please input the arear and Epsilon\n"); scanf("%f,%f,%f",&a,&b,&Epsilon); Alpha1=b-Lambda*(b-a),Alpha2=a+Lambda*(b-a); printf("%f,%f\n",Alpha1,Alpha2); y1=ff(Alpha1);y2=ff(Alpha2); printf("y1=%f,y2=%f\n",y1,y2); do {if(y1>=y2) {a=Alpha1; Alpha1=Alpha2; y1=y2; Alpha2=a+Lambda*(b-a); y2=Alpha2*Alpha2+2*Alpha2; } else{ b=Alpha2;

优化设计上机实验报告(matlab)

优化设计上机实验报告 数学模型的建立: 二级圆柱齿轮减速器,要求在保证承载能力的条件下按照总中心距最小进行优化设计。在设计中,我们选取了第四组数据,即已知:高速轴输入功率R=4Kw ,高速轴转速n=960r /min ,总传动比i=35.3,齿轮的齿宽系数Φ=0.4;大齿轮45号钢,正火处理,小齿轮45号钢,调质处理,总工作时间不少于5年 选取设计变量 减速器的中心距式为: a=(a1+a2)/2=[(1+i1)z1m1+(1+i2)z3m2]/(2cos β); 式中:m1,m2为高速级与低速级齿轮的法面模数,i1,i2高速级与低速级传动比,z1,z3高速级与低速级的小齿轮的齿数;β小齿轮齿数齿轮的螺旋角 计算中心距的独立参数有: m1,m2、i1 ,z1,z3,β 故优化设计变量取: X=[m1,m2,z1,z3,i1,β]T =[x1,x2,x3,x4,x5,x6]T 建立目标函数 将中心距公式用设计变量表示,确定目标函数为: f(x)=[x1*x3*(1+x5)+x2*x4(1+35.3/x5)]/(2*cos(x6)); 确定约束: 根据传递功率与转速分析,综合考虑传动平稳、轴向力不可太大,能满足短期过载,高速级与低速级的大齿轮浸油深度大致相近,齿轮的分度圆尺寸不能太小等因素,各变量的上下限取如下边界: 2=

优化设计实验报告

Matlab优化设计报告 姓名: 班级: 学号: 指导老师:

一、无约束优化 在Matlab软件中,求解无约束规划的常用命令是: x=fminunc(‘fun’,x0) 其中,fun函数应预先定义到M文件中,并设置初始 解向量为x0。 题目:求解 1.首先建立函数文件zuoye1.m内容为: function f=zuoye1(x)%建立function函数 f=3/2*x(1)^2+1/2*x(2)^2-x(1)*x(2)-2*x(1)%给出目标函数 以zuoye1为文件名保存此函数文件。如图: 2.在命令窗口输入: X0=[-2;4]%给定初始点为X(0)=[-2;4] x=fminunc('zuoye1',x0)%将X0取值带入zuoye1进行无约束求解即可获得结果

结果显示: …… 即极小值为-1,是x1=1,x2=1时取得。

二.有约束优化 在Matlab优化工具箱中,linprog函数是使用单纯形法求解线性规划问题的函数。 题目: 解题步骤: 1.先要将线性规划变为如下形式: 得到:

2.然后建立M文件zuoye2.m如下: c=[-3;1;1];%目标函数系数向量 A=[1 -2 1;4 -1 -2];%约束条件矩阵 b=[11;-3];%约束函数最右边的数值向量 Aeq=[2,0,-1];%等式约束条件的系数矩阵 beq=[-1];%等式约束条件的系数向量 LB=[0;0;0];(zeros(3,1))%X下界为0 [x,fval]=linprog(c,A,b,Aeq,beq,LB,[])%x表示最优解向量;fval表示最优值,fval是目标函数在解x处的值并进行求解 以zuoye2为文件名保存此函数文件。如图: 运行zuoye2 M文件,在命令窗口输入zuoye2可以得到:

计算机组成原理运算器实验报告(一)

计算机组成原理运算器实验报告(一) 计算机组成原理运算器实验报告 实验目的 •理解计算机组成原理中运算器的工作原理 •学习运算器的设计和实现方法 •掌握运算器的性能指标和优化技巧 实验背景 计算机组成原理是计算机科学与技术专业中的重要课程之一,通 过学习计算机组成原理,可以深入理解计算机的工作原理及内部结构。运算器是计算机的核心组成部分之一,负责执行各种算术和逻辑运算。在本次实验中,我们将通过实践的方式,深入了解并实现一个简单的 运算器。 实验步骤 1.确定运算器的功能需求 –确定需要支持的算术运算和逻辑运算 –设计运算器的输入和输出接口 2.实现运算器的逻辑电路

–根据功能需求,设计并实现运算器的逻辑电路 –确保逻辑电路的正确性和稳定性 3.验证运算器的功能和性能 –编写测试用例,对运算器的功能进行验证 –测量运算器的性能指标,如运算速度和功耗 4.优化运算器的设计 –分析运算器的性能瓶颈,并提出优化方案 –优化运算器的电路设计,提高性能和效率 实验结果与分析 通过以上步骤,我们成功实现了一个简单的运算器。经过测试,运算器能够正确执行各种算术和逻辑运算,并且在性能指标方面表现良好。经过优化后,运算器的速度提高了20%,功耗降低了10%。 实验总结 通过本次实验,我们深入了解了计算机组成原理中运算器的工作原理和设计方法。通过实践,我们不仅掌握了运算器的实现技巧,还学会了优化运算器设计的方法。这对于进一步加深对计算机原理的理解以及提高计算机系统性能具有重要意义。 参考文献 •[1] 《计算机组成原理》

•[2] 张宇. 计算机组成原理[M]. 清华大学出版社, 2014. 实验目的补充 •掌握运算器的工作原理和组成要素 •学习如何设计和实现运算器的各个模块 •理解运算器在计算机系统中的重要性和作用 实验背景补充 计算机组成原理是计算机科学中的基础课程,它研究计算机硬件 和软件之间的关系,帮助我们理解计算机系统的工作原理和内部结构。运算器是计算机的核心部件之一,负责执行各种算术和逻辑运算,对 计算机的性能和功能起着重要作用。 实验步骤补充 1.确定运算器的功能需求 –确定需要支持的算术运算,如加法、减法、乘法、除法等 –确定需要支持的逻辑运算,如与、或、非、异或等 –设计运算器的输入和输出接口,如数据输入和结果输出的方式 2.实现运算器的逻辑电路 –根据功能需求,设计并实现运算器的逻辑电路

机械传动设计实验报告心得

机械传动设计实验报告心得 引言 机械传动是机械工程中的基础课程,主要研究机械装置中各个零部件之间的传动关系以及其运动特性。本次机械传动设计实验为我们提供了一个很好的机会,让我们在实践中掌握机械传动的设计和分析方法,同时加深对机械传动原理的理解。实验过程 本次实验的主要内容是设计和制作一个简单的机械传动装置,并使用传感器采集数据进行分析。实验中,我们首先根据要求选择了合适的传动比和齿轮类型,然后根据实际情况来计算设计参数。接下来,我们使用CAD软件绘制了传动装置的三维模型,并利用数控加工设备制作了实际的装置。最后,我们将装置安装好并接上传感器,通过数据采集系统得到了运动数据。 实验收获 通过本次实验,我学到了许多关于机械传动的知识和技能。首先,我了解了不同类型的机械传动装置,并学会了根据实际需求选择合适的传动比和齿轮类型。这对于实际工程项目的设计非常重要,只有选用合适的传动装置才能确保装置的正常运转和高效性能。 其次,我学会了使用CAD软件进行三维模型绘制,并通过制作实物来验证设计的正确性。这让我对CAD技术有了更深入的了解,并提高了我的设计能力。 最重要的是,通过数据采集和分析的过程中,我深刻体会到了机械传动的运动特性和性能评价的重要性。通过与理论计算结果的比较,我发现了传动装置中的一些问题,并得到了改进的方案。这使我意识到,在实际工程中,仅仅满足设计要求是不够的,还需要考虑实际情况并不断优化设计。

问题与改进 在实验中,我也遇到了一些问题。首先,由于时间紧迫,我在传动比的选择上花费了较多的时间。这导致我在计算和设计时匆忙完成,没有充分考虑传动的可靠性和经济性。下次进行类似实验时,我会提前进行充分的计划和准备,以确保更好的设计质量。 其次,由于实验设备和材料的限制,我在制作传动装置时遇到了一些困难。例如,我无法制作特定齿数的齿轮,只能选择最接近的。这导致了装置在实际运转时的不稳定性。在今后的实验中,我会提前调查设备和材料的情况,并选择合适的制作方式和工艺,以提高装置的品质和性能。 最后,数据采集和分析中的误差也给我的实验结果带来了一些不确定性。在实验过程中,我需要更加精确地使用传感器和数据采集系统,并多次重复实验,以提高数据的准确性和可靠性。 总结 通过本次机械传动设计实验,我不仅学到了机械传动的基本原理和设计方法,还掌握了实际操作的技能。这将对我今后的机械设计和研究工作有很大的帮助。通过分析问题和总结经验,我意识到在机械传动设计中,除了满足基本要求外,还需要考虑实际情况和优化设计。在今后的学习和工作中,我将继续加强对机械传动的研究和实践,不断提高自己的技术水平和创新能力。

机械优化设计黄金分割法实验报告

实验报告 课程名称:机械优化设计 实验项目:一维搜索(黄金分割)法上机实验 专业班级: XXXXX级机械工程及自动化XX班 学号: XXXXXXXXXX 姓名: XXXXXX 指导老师: XXXXXX 日期: 201X.12.12 机械工程试验教学中心

实验1 一维搜索(黄金分割)法实验报告 实验日期 201X 年 12 月 11 日 报告日期 201X 年 12 月 12 日 班级 XXXXX级机自XXXX班姓名 XXXXXX 学号 XXXXXXXXXXXXXXX 1、实验目的 ○1了解黄金分割法的基本原理; ○2熟悉matlab程序使用方法; ○3学习上机调试、运行所编写的程序。 2、黄金分割法原理 该法适用于[a,b]区间上单谷函数极小值问题。在搜索区间[a,b]内按照0.618比例加入两点α1,α2,并计算其函数值。α1,α2将区间分成三段,然后利用区间消去法,通过比较函数值大小,删除其中一段,使搜索区间缩短,在保留区间进行同样处理,直到搜索区间 缩小到指定精度为止。 3、编制MATLAB优化程序 ○1编写函数文件,并命名为fx.m保存,程序代码如下: function f=fx(w) %f=w^2-10*w+36; %f=w^4-5*w^3+4*w^2-6*w+60; %f=((w+1)^4)*((w-2)^2); 注:上述“%”后面分别为要求解的三个方程,求解该方程式把相应方程式前面的“%”删除,点击保存,并运行下面的hjf.m文件,输入相应的初始步长h0、初始点x0、收敛法则epsilan的值 ○2编写进退法程序文件,命名为ab1.m保存,程序代码如下: function [a,b]=ab1(h0,x0) h=h0;x1=x0;f1=fx(x1); x2=x1+h;f2=fx(x2); if f2>f1 h=-h;x3=x1;f3=f1;x1=x2;f1=f2;x2=x3;f2=f3; end x3=x2+h;f3=fx(x3); while f2>=f3 x1=x2;f1=f2;x2=x3;f2=f3; x3=x2+2*h;f3=fx(x3); end if h<0

机构优化设计综合实验报告 摆动导杆机构

机构优化设计综合实验报告摆动导杆机构 一、实验目的 1. 掌握机构优化设计流程及方法。 2. 熟悉MATLAB/Simulink等工具的简单使用。 3. 熟悉自动化设计软件ADAMS的使用方法。 4. 熟悉建模、仿真、分析和优化机构的基本思路和操作方法。 二、实验内容 1. 摆动导杆机构的静态分析。 2. 建立摆动导杆机构的动力学模型。 3. 利用ADAMS进行动力学仿真。 4. 对机构进行优化设计,得到最优参数。 三、实验步骤 1. 绘制摆动导杆机构的CAD图。 2. 利用SolidWorks进行三维建模。 3. 利用MATLAB编写静态分析程序,计算机构受力情况。 4. 建立机构的动力学模型,并将其导入ADAMS中。 5. 进行动力学仿真,得到机构运动情况。 6. 对机构进行优化设计,对比不同参数下的机构运动性能。 7. 分析优化结果及改进方向。 四、实验原理 摆动导杆机构是一种广泛应用于工业和机械设计领域的机构。该机构由固定主架、摆杆、导杆和从动架等组成,可以将旋转运动转化为直线运动。同时,该机构结构简单、工作可靠、制造成本低、使用寿命长,因此得到广泛应用。

在进行机构优化设计前,需要对机构进行静态分析。通过计算机程序模拟机构在不同外载荷作用下的受力情况,可以得到机构的力学特性,为优化设计提供数据支持。 在建立机构的动力学模型时,需考虑机构的受力情况、牵引质量以及摩擦等因素。将机构的动力学模型导入ADAMS中,进行动力学仿真,可以得到机构的运动情况。同时,可利用ADAMS进行优化设计,通过对比不同参数下的机构运动性能,得出最优解。 五、实验结果及分析 经过静态分析程序计算,可以得到机构在不同外载荷下的受力情况。例如,在机构受到10N的外载荷时,导杆处受到的最大压力为300N,摆杆的最大弯曲角度为5度。这些数据可以为优化设计提供数据支持。 在进行动力学仿真时,可得到机构在不同的牵引质量下的运动情况。例如,在牵引质量为100G的情况下,机构的运动速度最大,机构的平均运动速度为0.5m/s。同时,在不同的摩擦系数下,机构的运动情况也会有所变化。模拟结果显示,摩擦系数越小,机构的运动速度越快,机构的运动精度也会更高。 对比不同参数下机构的运动性能,得到最优参数。例如,在牵引质量为50G时,30度的摆杆弯曲角度和0.01的摩擦系数下,机构运动速度最快,运动精度最高,因此可作为最优参数值。 六、实验结论 通过本次实验,掌握了机构优化设计的流程和方法,熟悉了MATLAB、ADAMS等工具的使用方法,深入了解了机构的建模、仿真、分析和优化等基本思路和操作方法。同时,通过实验得到了摆动导杆机构在不同外载荷、牵引质量和摩擦系数下的运动情况,并得到最优参数值,为机构设计和应用提供了参考。

初中化学实验课的优化设计研究

初中化学实验课的优化设计研究 1. 引言 1.1 初中化学实验课的优化设计研究意义 初中化学实验课的优化设计研究意义在于提高实验教学质量,激 发学生学习兴趣,培养学生的实验能力和动手能力,促进学生科学素 养的培养,以及推动教学改革和创新。通过优化设计实验课程,可以 使实验内容更加符合学生的学习需求和兴趣,提高学生的学习积极性 和主动参与度。通过精心设计实验课程,可以帮助学生掌握实验技能 和操作方法,培养学生的实验观察、实验推理和实验判断能力,提高 学生的实验技能水平。优化设计实验课程可以引导学生主动探究和实践,培养学生的科学研究意识和科学思维能力,培养学生的创新精神 和实践能力。通过优化设计实验课程,可以加强师生互动,促进教学 改革和创新,推动课程教学质量的不断提高,促进学校教育教学水平 的整体提升。对初中化学实验课的优化设计研究具有重要的意义和价值。 1.2 初中化学实验课的现状分析 目前,初中化学实验课在教学中起着重要作用,但也存在一些问 题和挑战。实验教学资源不足,导致实验教材和实验器材的更新缓慢,影响了实验教学质量和效果。实验内容设计难以贴近学生的实际生活 和学习需求,缺乏趣味性和启发性,导致学生对实验课缺乏兴趣和积 极性。实验教学方法单一,缺乏创新和多样性,无法满足不同学生的

学习特点和需求。实验教学评价体系不完善,缺乏科学性和客观性, 不能有效检验学生的实际能力和掌握程度。初中化学实验课在现阶段 存在着一些问题和挑战,需要进行优化设计与改进。 1.3 初中化学实验课的问题与挑战 1. 实验设备不足:由于学校实验室条件有限,很多学校的实验设 备较为简单和过时,无法支撑更为复杂的化学实验内容,影响了学生 的学习效果和实验成果。 2. 安全风险较大:化学实验涉及到很多化学试剂和器材,如果没 有得到正确的指导和操作,容易引发安全事故,给学生和教师带来危险。 3. 实验内容单一:很多学校的化学实验课内容较为传统,缺乏创 新和实践性,不能满足学生对化学知识的探究和应用需求,学生的兴 趣和主动性较低。 4. 教师教学水平参差不齐:由于教师的教学水平和实践经验各不 相同,导致一些教师在设计和开展化学实验课时能力不足,无法有效 引导学生进行实验操作和探究。 5. 缺乏评价体系:目前对于初中化学实验课的评价体系相对薄弱,缺乏科学的评价标准和方法,不能充分反映学生的实际能力和水平。 2. 正文 2.1 初中化学实验课设计的原则与方法

基于ZEMAX的激光扩束镜的优化设计

光学软件设计 实验报告: 基于ZEMAX的激光扩束镜的优化设计 姓名: 学号:2011146211

一、实验目的 学会使用ZEMAX软件对多重结构配置的激光束扩大器进行优化设计。 二、实验要求 1、掌握使用多重结构配置。 2、进一步学习构建优化函数。 三、实验内容 设计一个激光扩束器,使用的波长为1.053um,输入光束直径为100mm,输出光束的直径为20mm,且输入光束和输出光束平行。要求只使用两片镜片,设计必须是伽利略式的(没有内部焦点),在镜片之间的间隔必须不超过250mm,只许使用1片非球面,系统必须在波长为0.6328um时测试。 1、打开ZEMAX软件,关闭默认的上一个设计结果,然后新建一个空白透镜。 2、在IMA面(像平面)前使用insert插入4个面,输入相关各面的厚度、曲率半径和玻璃类型值。 3、点击Gen设置入瞳直径为100,点击Wav设置波长为 1.053微米。

4、在主菜单Editors里构建一个优化函数,将第一行操作数类型改为REAY,surf输入5,Py输入1,taiget输入10,weight输入1。 5、在评价函数编辑窗中选工具—默认优化函数。选reset,将“开始在”的值设置为2,

确定。 6、点击Opt进行优化,优化后生产OPD图。

7、将第一面的conic设置为变量(control+z)。再次进行优化,重新生产OPD图并观察。 8、将三个曲率和圆锥西数的变量状态去掉。 9、点击Wav重新配置光波长,将之前的1.053改为0.6328,确定后再次更新OPD图并分析。

10、将第二面的厚度250mm设为可变,然后再次点击Opt优化,重新生成OPD图。此时去掉第二面的可变状态。 11、从主菜单—编辑中调出多重结构编辑窗,在这个窗口的编辑菜单中选“插入结构”来插入一个新的结构配置,双击第一行第一列,从下拉框中选wave,在同样的对话框里为wavelength选择1,确定。在config1下输入 1.053,在config2下输入0.6328。

pcb课程设计实验报告

pcb课程设计实验报告 本次课程设计实验的内容是设计一块包含多个功能的PCB电路板,该电路板包含电源管理、信号放大、滤波和控制逻辑等多个模块。本 文将从电路板的设计思路、实验步骤、成果展示和问题与改进等方面 进行阐述。 一、设计思路 该电路板的设计需要考虑电源管理、信号放大、滤波和控制逻辑 等多个方面,并且需要将这些模块有机地结合在一起,保证整个电路 板的性能和可靠性。在设计中,我们选用了TI的TINA软件进行仿真,并根据仿真的结果对电路进行了优化设计,最终得到了符合要求的电 路原理图和PCB电路板布局图。 二、实验步骤 1、电源管理模块设计:该模块主要包括两个先后级别的稳压电路 和一个电压监测芯片。先后级别的稳压电路用于将电源电压从12V降 压到5V和3.3V,保证整个电路板的稳定工作。电压监测芯片用于监测电池电压,在电压低于预设值时发出警报信号。

2、信号放大和滤波模块设计:该模块主要用于放大和滤波采集到 的传感器信号。我们选用了一款高精度可编程运放作为信号放大电路 的核心部件,并在其前后分别添加了高通和低通滤波器,以保证信号 的稳定性和精度。 3、控制逻辑模块设计:该模块主要用于控制整个电路板的工作, 并且需要能够根据用户的输入产生相应的控制信号。我们选用了一款 基于STM32F0的微控制器,并在其周围添加了相应的外设电路,比如USB接口、LCD显示屏和按键输入等。 4、PCB电路板设计:在得到以上模块的原理图和电路板布局图后,我们对整个电路板进行了逐层布线和优化设计,并且通过3D模拟软件 进行了可视化仿真。最终,我们得到了一块符合要求的PCB电路板。 三、成果展示 最终实验成果如下图所示: (此处插入图片)

优化设计黄金分割法实验报告

机械优化设计黄金分割法实验报告 1、黄金分割法基本思路: 黄金分割法适用于[a,b]区间上的任何单股函数求极小值问题,对函数除要求“单谷”外不做其他要求,甚至可以不连续。因此,这种方法的适应面非常广。黄金分割法也是建立在区间消去法原理基础上的试探方法,即在搜索区间[a,b]内适当插入两点al,a2,并计算其函数值。al,a2将区间分成三段,应用函数的单谷性质,通过函数值大小的比较,删去其中一段,是搜索区间得以缩小。然后再在保留下来的区间上作同样的处理,如此迭代下去,是搜索区间无限缩小,从而得到极小点的数值近似解。 2黄金分割法的基本原理 一维搜索是解函数极小值的方法之一,其解法思想为沿某一已知方向求目标函数的极小值点。一维搜索的解法很多,这里主要采用黄金分割法(0.618法)。该方法用不变的区间缩短率0.618代替斐波那契法每次不同的缩短率,从而可以看成是斐波那契法的近似,实现起来比较容易,也易于人们所接受。

rl=a+O382(Js-a)r2=a+0,618(b-a) 如图fi(r2)>f(rl) 所以新区间为[迈 以为新区间,继续求新的试点 黄金分割法是用于一元函数f(x)在给定初始区间[a,b]内搜索极小点**的一种方法。它是优化计算中的经典算法,以算法简单、收敛速度均匀、效果较好而著称,是许多优化算法的基础,但它只适用于一维区间上的凸函数⑹,即只在单峰区间内才能进行一维寻优,其收敛效率较低。其基本原理是:依照“去劣存优”原则、对称原则、以及等比收缩原则来逐步缩小搜索区间[7]。具体步骤是:在区间[a,b]内取点:al,a2把[a,b]分为三段。如果f(a1)>f(a2),令a=a1,a1=a2,a2=a+r*(b-a);如果f(a1)

初中生物作业的优化设计

初中生物作业的优化设计 简介 本文档旨在提出初中生物作业的优化设计方案。优化设计可以 使学生更好地理解和掌握生物知识,并且激发他们对生物学的兴趣。 目标 优化设计初中生物作业的目标是: 1. 提高学生对生物知识的理解和应用能力 2. 培养学生的观察和实验能力 3. 激发学生对生物学的兴趣和研究动力 优化方案 根据上述目标,我们提出以下优化方案: 1. 多样化作业形式 除了传统的书面作业,可以引入绘画、观察报告、实验报告等 多种形式的作业。这样可以激发学生的创造力和动手能力,培养他 们的观察和实验技巧。

2. 实践环节的加入 可以引入实践环节,例如组织野外观察、动物标本制作或植物培养等活动。通过实践,学生可以亲身体验和观察生物现象,提高他们的研究兴趣和应用能力。 3. 激发讨论和合作 作业设计应注重激发学生的思考和讨论,鼓励他们在小组内互相交流和合作。可以设计问题引导讨论,或者组织小组实验,让学生共同合作完成作业,提高他们的合作和团队意识。 4. 应用生活场景 将生物知识与学生的生活场景相结合,设计与日常生活相关的作业题目。例如,通过观察厨房中的微生物生长情况,引导学生了解并探讨微生物的分类、繁殖及危害等知识点,增加学生的研究兴趣和实践应用能力。 5. 反馈和评价

在作业设计中引入有效的反馈机制,及时对学生的作业进行评 价和指导。可以采用互评、师生互动、同学之间交流等方式,让学 生了解自己的优势和提升空间,促进他们对研究的深入思考和反思。 结论 通过优化设计初中生物作业,我们可以更好地促进学生对生物 学的学习和兴趣。多样化的作业形式、实践环节的加入、讨论和合 作的激发、应用生活场景和有效的反馈机制,都可以提高学生的学 习动力和实际应用能力。希望这些优化方案能够帮助学生更好地理 解和掌握生物知识。

优化设计实验报告

实验报告1 课程名称:班级:实验日期:姓名:学号:指导教师:实验名称:进退法实验序号: 1 实验成绩:(1)实验目的: 略 (2)实验内容: 1.调试用例题题目及正确结果: (1)调试题目为教材P53 习题3.1 X0=0时:A=0.3 B=1.5 X0=1.8时:A= -1.5 B= -0.3 (2)调试题目为教材P42 例3.1 A=1 B=7 2.调试过程: (详细记录程序在调试过程中出现的问题及解决方法)。 3.调试结果:

实 验 报 告 2 课程名称: 班级: 实验日期: 姓名: 学号: 指导教师: 实验名称:黄金分割法 实验序号: 2 实验成绩: (1)实验目的: 略 (2)实验内容: 1.调试用例题题目及正确结果: (1)调试题目为教材P46 例3.2 最优步长295.41==* A α (0)1[5.03656 5.03656]T α**=+==X X S X 00267.2)()()(111====*X X f F F f α 2.调试过程: (详细记录程序在调试过程中出现的问题及解决方法)。 3.调试结果:

实验报告3 课程名称:班级:实验日期:姓名:学号:指导教师:实验名称:坐标轮换法实验序号: 3 实验成绩:(1)实验目的: 略 (2)实验内容: 1.调试用例题题目及正确结果: (1)调试题目为教材P80 习题4.1 2.调试过程: (详细记录程序在调试过程中出现的问题及解决方法)。 3.调试结果:

实 验 报 告 4 课程名称: 班级: 实验日期: 姓名: 学号: 指导教师: 实验名称:鲍威尔法 实验序号: 4 实验成绩: (1)实验目的: 略 (2)实验内容: 1.调试用例题题目及正确结果: (1)调试题目为教材P68 例4.1 最优点为(取小数点六位): 000000.0)(,]500000.2500000.2[==**X X f T (2) 调试题目为教材P208 例F 2.2 最优点x =[ 0.9546 0.3636]T 最优值 f = -0.5682 2.调试过程: (详细记录程序在调试过程中出现的问题及解决方法)。 3.调试结果:

(完整版)基于ZEMAX的激光扩束镜的优化设计

光学软件设计 实验报告: 鉴于 ZEMAX的激光扩束镜的优化设计 姓名: 学号: 2011146211

一、实验目的 学会使用 ZEMAX软件对多重构造配置的激光束扩大器进行优化设计。 二、实验要求 1、掌握使用多重构造配置。 2、进一步学习建立优化函数。 三、实验内容 设计一个激光扩束器,使用的波长为 1.053um,输入光束直径为 100mm ,输出光束的直径为20mm,且输入光束和输出光束平行。要求只使用两片镜片,设计一定是伽利略式的 (没有内部焦点),在镜片之间的间隔一定不超出 250mm ,只许使用 1 片非球面,系统一定在波长为 0.6328um 时测试。 玻1、翻开 ZEMAX软件,封闭默认的上一个设计结果,而后新建一个空白透镜。 2、在 IMA 面(像平面)前使用insert 插入 4 个面,输入有关各面的厚度、曲率半径和 璃类型值。 3 、点击Gen设置入瞳直径为100 ,点击Wav设置波长为1.053微米。

4、在主菜单Editors 5, Py 输入 1, taiget 输入里建立一个优化函数,将第一行操作数种类改为 10, weight 输入 1。 REAY , surf 输入 5、在评论函数编写窗中选工具—默认优化函数。选reset,将“开始在”的值设置为2,

确立。 6、点击 Opt 进行优化,优化后生产OPD 图。

7、将第一面的conic 设置为变量( control+z )。再次进行优化,从头生产O PD 图并察看。 并8、将三个曲率和圆锥西数的变量状态去掉。 9、点击 Wav 从头配置光波长,将以前的 分 1.053 改为0.6328,确立后再次更新 析 OPD图 。

完整版witness实验报告供应链管理系统的优化设计

供应链管理系统的设计与分析实验报告

号级班姓名学 一、实验目的: 1. 了解供应链系统的元素、系统参数的设置、及供应过程 2. 通过改变元素属性,分析需求及供应参数对供应链系统的影响 3. 熟悉WITNESS 元素:①离散型元素:Part(零件)、machine(机器)、conveyor(传送带)、buffer(缓冲区)②连续型元素:Fluid、Pipe、Processor、Tank ③运输逻辑元素:Network(网络)、Carriers(小车)、Section(线路)、Station(工作站) ④逻辑元素:Attribute(属性)、Variable(变量)、Distribution(分布)、Function(函数)、File(文件)。 二、实验说明: 供应链是围绕核心企业,从采购原材料开始,制成零部件以及产品,最后把产品交由消费者使用的连成一个整体的物流、信息流和资金流的链结构模式。它是一个范围更广的企业,可能包含所有加盟的节点企业如供应商、制造商、分销商、零售商,从原材料的供应开始,经过链中不同企业的制造加工、组装和分销等过程直到最终用户。本实验的模型:钢材从钢铁公司到汽车厂需要经过钢材服务中心和零部件生产商。上游环节根据下一环节的库存供货。通过该模型学生可以熟悉供应链的运作,了解“牛鞭效应”——即下游企业需求的小幅变动,因无法有效地实现信息的共享,常引发上游环节供应计划的大幅震荡。主要流程数据如下: 1. 当钢材服务中心的库存小于15 批时钢铁公司开始生产,每生产一批钢材平均需要 2小时、服从正态分布。 2. 当零部件生产商的库存小于6 批时,钢材服务中心开始配货。每配一批货需要的 时间服从0.5 - 1小时的均匀分布。 3. 当三个汽车厂商的总库存量小于10 时,4 个零部件生产商开始生产。每生产一批 零部件平均需要时间4 小时、服从正态分布。 4. 汽车厂商每耗用一批零部件需要4 小时、服从正态分布。

软件工程实验报告-集装箱优化设计需求分析文档

武汉工程大学计算机科学与工程学院软件工程》实验报告

1 引言 1.1 编写目的 集装箱优化的需求文档设计是软件工程课程的重要内容之一,是编码阶段的准备期,通过此次设计了解需求文档设计的格式、方式和内容,并通过对集装箱的优化设计了解其设计模型。通过对集装箱进行优化,可以在一定的资源基础上装载更多的产品,满足客户的需求。 1.2 背景 (1)软件名称:集装箱优化设计; (2)项目提出者:王庆春老师; (3)项目开发者:苏宗海; 本软件开发项目在具备一定的经验基础上,结合对集装箱的了解以及优化设计的初始准备开发出来的,具有一定的项目风险。编码语言可以是JAVA 或C++ 等,编码平台为Eclipse或者VC6.0 等。 1.3 定义 (1)集装箱:是指具有一定强度、刚度和规格专供周转使用的大型装货 容器。 (2)尺寸:包括集装箱永久性附件在内的集装箱外部最大的长、宽、高尺寸。它是确定集装箱能否进行换装的主要参数,是各运输部门必须掌握的一项重要技术资料。 (3)Container's Internal Dimensions :集装箱内尺寸,包括集装箱内部的最大长、宽、高尺寸。 (4 )TEU :是英文Twenty Equivalent Unit 的缩写,又称20 英尺换算单位,是计算集装箱箱数的换算单位。也称国际标准箱单位。 1.4 参考资料 李伟波,刘永祥. 王庆春.软件工程(第一版).武汉:武汉大学出版社,2007 吴洁明,袁山龙. 软件工程应用实践教程. 北京:精华大学出版社,2003 杨文龙,古天龙.软件过程(第二版).北京:电子工业出版社,2004 吕国英.算法设计与分析(第二版).北京:清华大学出版社,2009 word 文档可自由复制编辑

相关主题
相关文档
最新文档