工程结构优化设计—编程作业。
1.用**分割法求方程在区间[-1,1]上的解。
在matlab中没有专门的函数实现**分割法求解线性方程,可通过编写函数实现**分割法求解,其**如下:
function x=glodf(f,a,b,eps)
if(nargin==3)
eps=1.0e-4;
endf1=subs(sym(f),findsym(sym(f)),a);
f2=subs(sym(f),findsym(sym(f)),b);
if(f1==0)
x=a;end
if(f2==0)
x=b;end
if(f1*f2>0)
disp(’两端点函数值乘积大于0!’)
return;
elset1=a+(b-a)*0.382;
t2=a+(b-a)*0.618;
f_1=subs(sym(f),findsym(sym(f)),t1);
f_2=subs(sym(f),findsym(sym(f)),t2);
tol=abs(t1-t2);
while(tol>eps)
if(f_1*f_2<0)
a=t1;b=t2;
elsefa=subs(sym(f),findsym(sym(f)),a);
if(f_1*fa>0)
a=t2;else
b=t1;end
endt1=a+(b-a)*0.382;
t2=a+(b-a)*0.618;
f_1=subs(sym(f),findsym(sym(f)),t1);
f_2=subs(sym(f),findsym(sym(f)),t2);
tol=abs(t2-t1);
endx=(t1+t2)/2;
end其实现的matlab**如下:
> clear all;
> tic
> x=glodf('x^3-3*x+1',-1,1,1e-6)x =
2.用抛物线法求解的极值点,取值范围[0.5,1],允许误差为1e-6。
在matlab中没有专门的函数实现抛物线法求解线性方程,可通过编写函数实现抛物线法求解,其**如下:
function x=paowuxian(f,x0,x1,x2,e)
if nargin<4,e=1e-4;
endx=x2;y=x1;z=x0;
while abs(x-y)>e
h1=y-z;
h2=x-y;
c1=(feval(f,y)-feval(f,z))/h1;
c2=(feval(f,x)-feval(f,y))/h2;
d=(c1-c2)/(h2+h1);
w=c2+h2*d;
xi=x-(2*feval(f,x))/w+(w/abs(w))*sqrt(w^2-4*feval(f,x)*d));
z=y;y=x;
x=xi;end
其实现的matlab**如下:
> fun=inline('x^3+2*x-0.2');
> paowuxian(fun,0,0.5,1,1e-6),format shortans =
3.用齿形法对下图的结构进行杆件截面优化设计:
节点处作用两种工况:(1)p1=2000kn,p2=0kn;(2)p1=0kn,p2=2000kn。各杆采用同一材料制成,弹性模量e为常数,容许应力分别为:
[σ2╳107kpa,[σ1.5╳107kpa。
此结构为对称结构,工况也对称,所以a1=a3,计算时只取两个变量a1和a2,一种工况p1=2000kn,p2=0kn。
目标函数取为结构总重量:
在matlab中没有专门的函数实现齿形法求解线性方程,可通过编写函数实现齿形法求解,其**如下:
function [newa1,newa2,newa3,w,exitflag] =zigzag( a1,a2,maxstep)
if nargin<3
maxstep=96;
enda=[a1;a2];
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
w=sqrt(2)*2*a1+a2;
w1=w;w2=w;
newa1=a1;
newa2=a2;
newa3=a1;
syms p l ;
w=vpa(w*p*l);
a11=a1;
a13=a1;
a22=a2;
a24=a2;
exitflag=-1;
for k=1:maxstep
if w2>w1
newa1=a11;
newa2=a22;
newa3=a11;
w=vpa(w1*p*l,4);
exitflag=1;
return;
endu1=max(u);
a=a.*u1;
a11=a(1);
a22=a(2);
u=u./u1;
u=roundn(u,-4);
w=sqrt(2)*2*a11+a22;
w1=w;if w1>w2
newa1=a13;
newa2=a24;
newa3=a13;
w=vpa(w2*p*l,4);
exitflag=0;
return;
enda=a.*u;
a1=a(1);
a2=a(2);
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
u1=max(u);
a=a.*u1;
a13=a(1);
a24=a(2);
u=u./u1;
u=roundn(u,-4);
w=sqrt(2)*2*a13+a24;
w2=w;a=a.*u;
a1=a(1);
a2=a(2);
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
endend
其实现的matlab**如下:
> clear;
a1=1e-4;
a2=1e-4;
anew1,anew2,anew3,w,exitflag]=zigzag(a1,a2)
anew1 =
7.7346e-05
anew2 =
4.5309e-05
anew3 =
7.7346e-05
w =0.0002641*l*p
exitflag =
4. 用修改齿形法对结构进行杆件截面优化设计。
在matlab中没有专门的函数实现修改齿形法求解线性方程,可通过编写函数实现修改齿形法求解,其**如下:
function [newa1,newa2,newa3,w,exitflag] =izigzag( a1,a2,v,maxstep)
if nargin<5
maxstep=96;
enda=[a1;a2];
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
w=sqrt(2)*2*a1+a2;
w1=w;w2=w;
newa1=a1;
newa2=a2;
newa3=a1;
syms p l ;
w=vpa(w*p*l);
a11=a1;
a13=a1;
a22=a2;
a24=a2;
exitflag=-1;
for k=1:maxstep
if w2>w1
newa1=a11;
newa2=a22;
newa3=a11;
w=vpa(w1*p*l,4);
exitflag=1;
return;
endu1=max(u);
a=a.*u1;
a11=a(1);
a22=a(2);
u=u./u1;
x1=u(1);
x2=u(2);
y1=1-v*(1-x1);
y2=1-v*(1-x2);
u=[y1;y2];
u=roundn(u,-4);
w=sqrt(2)*2*a11+a22;
w1=w;if w1>w2
newa1=a13;
newa2=a24;
newa3=a13;
w=vpa(w2*p*l,4);
exitflag=0;
return;
enda=a.*u;
a1=a(1);
a2=a(2);
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
u1=max(u);
a=a.*u1;
a13=a(1);
a24=a(2);
u=u./u1;
x1=u(1);
x2=u(2);
y1=1-v*(1-x1);
y2=1-v*(1-x2);
u=[y1;y2];
u=roundn(u,-4);
w=sqrt(2)*2*a13+a24;
w2=w;a=a.*u;
a1=a(1);
a2=a(2);
u=[(1e-4)*(sqrt(2)*a1+a2)/(sqrt(2)*a1^2+2*a1*a2);(1e-4)*(sqrt(2)*a1)/(sqrt(2)*a1^2+2*a1*a2)];
endend
其实现的matlab**如下:
> clear;
a1=1e-4;
a2=1e-4;
v=0.5;
优化方法编程大作业
matlab 将下面 输入command中即可 clcclear syms x2 x1 f a 0 b inf c1 0.1 c2 0.5 rk为搜索步长,xk为变量,sk为搜索方向,gk为梯度值。rk 1 sk 1 1 xk0 0 1 xk0初始值。f x2 x1 2 2 1 x1 2 所求函数。...
编程作业答案 选择结构
1 判断一个三位数是否是 水仙花数 所谓 水仙花数 是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为。2 计算下列分段函数的值 x2 x 6 x 0且x 3 f x x2 5x 6 0 x 10且x 2及x 3 x2 x 1 其它。3 求一个不多于5位的正整数的位数。提...
工程设计优化方法大作业
铁路投资及运营费用构成及计算。姓名 班级 学号 目录。一 投资费用 3 1 投资构成 3 1.1 土建工程投资 3 2.2 机车车辆购置费 3 2 投资计算 3 2.2机车 车辆购置费 3 二 运营费用 4 1 运营费用构成 4 1.1与行车量有关的运营费 4 1.2固定设备维修费 4 2 运营费用...