大连理工大学优化方法上机大作业

大连理工大学优化方法上机大作业
大连理工大学优化方法上机大作业

学院:

专业:

班级:

学号:

姓名:

上机大作业1:

1.最速下降法:

function f = fun(x)

f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end

function g = grad(x)

g = zeros(2,1);

g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);

end

function x_star = steepest(x0,eps) gk = grad(x0);

res = norm(gk);

k = 0;

while res > eps && k<=1000

dk = -gk;

ak =1; f0 = fun(x0);

f1 = fun(x0+ak*dk);

slope = dot(gk,dk);

while f1 > f0 + *ak*slope

ak = ak/4;

xk = x0 + ak*dk;

f1 = fun(xk);

end

k = k+1;

x0 = xk;

gk = grad(xk);

res = norm(gk);

fprintf('--The %d-th iter, the residual is %f\n',k,res); end

x_star = xk;

end

>> clear

>> x0=[0,0]';

>> eps=1e-4;

>> x=steepest(x0,eps)

2.牛顿法:

function f = fun(x)

f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end

function g = grad2(x)

g = zeros(2,2);

g(1,1)=2+400*(3*x(1)^2-x(2));

g(1,2)=-400*x(1);

g(2,1)=-400*x(1);

g(2,2)=200;

end

function g = grad(x)

g = zeros(2,1);

g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);

end

function x_star = newton(x0,eps)

gk = grad(x0);

bk = [grad2(x0)]^(-1);

res = norm(gk);

k = 0;

while res > eps && k<=1000

dk=-bk*gk;

xk=x0+dk;

k = k+1;

x0 = xk;

gk = grad(xk);

bk = [grad2(xk)]^(-1);

res = norm(gk);

fprintf('--The %d-th iter, the residual is %f\n',k,res); end

x_star = xk;

end

>> clear

>> x0=[0,0]';

>> eps=1e-4;

>> x1=newton(x0,eps)

--The 1-th iter, the residual is

--The 2-th iter, the residual is

x1 =

法:

function f = fun(x)

f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end

function g = grad(x)

g = zeros(2,1);

g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);

end

function x_star = bfgs(x0,eps) g0 = grad(x0);

gk=g0;

res = norm(gk);

Hk=eye(2);

k = 0;

while res > eps && k<=1000

dk = -Hk*gk;

ak =1; f0 = fun(x0);

f1 = fun(x0+ak*dk);

slope = dot(gk,dk);

while f1 > f0 + *ak*slope

ak = ak/4;

xk = x0 + ak*dk;

f1 = fun(xk);

end

k = k+1;

fa0=xk-x0;

x0 = xk;

go=gk;

gk = grad(xk);

y0=gk-g0;

Hk=((eye(2)-fa0*(y0)')/((fa0)'*(y0)))*((eye(2)-(y0)*(fa0)')/((fa0)'*(y0)))+(fa0*(fa 0)')/((fa0)'*(y0));

res = norm(gk);

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

end

x_star = xk;

End

>> clear

>> x0=[0,0]';

>> eps=1e-4;

>> x=bfgs(x0,eps)

4.共轭梯度法:

function f = fun(x)

f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end

function g = grad(x)

g = zeros(2,1);

g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);

end

function x_star =CG(x0,eps) gk = grad(x0);

res = norm(gk);

k = 0;

dk = -gk;

while res > eps && k<=1000 ak =1; f0 = fun(x0);

f1 = fun(x0+ak*dk);

slope = dot(gk,dk);

while f1 > f0 + *ak*slope ak = ak/4;

xk = x0 + ak*dk;

f1 = fun(xk);

end

k = k+1;

x0 = xk;

g0=gk;

gk = grad(xk);

res = norm(gk);

p=(gk/g0)^2;

dk1=dk;

dk=-gk+p*dk1;

fprintf('--The %d-th iter, the residual is %f\n',k,res); end

x_star = xk;

end

>> clear

>> x0=[0,0]';

>> eps=1e-4;

>> x=CG(x0,eps)

上机大作业2:

function f= obj(x)

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

end

function [h,g] =constrains(x) h=x(1)^2+x(2)^2-25;

g=zeros(3,1);

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

g(2)=-x(1);

g(3)=-x(2);

end

function f=alobj(x) %拉格朗日增广函数

%N_equ等式约束个数?

%N_inequ不等式约束个数

N_equ=1;

N_inequ=3;

global r_al pena;%全局变量

h_equ=0;

h_inequ=0;

[h,g]=constrains(x);

%等式约束部分?

for i=1:N_equ

h_equ=h_equ+h(i)*r_al(i)+(pena/2)*h(i).^2;

end

%不等式约束部分

for i=1:N_inequ

h_inequ=h_inequ+pena)*(max(0,(r_al(i)+pena*g(i))).^2-r_al(i).^2); end

%拉格朗日增广函数值

f=obj(x)+h_equ+h_inequ;

function f=compare(x)

global r_al pena N_equ N_inequ;

N_equ=1;

N_inequ=3;

h_inequ=zeros(3,1);

[h,g]=constrains(x);

%等式部分

for i=1:1

h_equ=abs(h(i));

end

%不等式部分

for i=1:3

h_inequ=abs(max(g(i),-r_al(i+1)/pena));

end

h1 = max(h_inequ);

f= max(abs(h_equ),h1); %sqrt(h_equ+h_inequ);

function [ x,fmin,k] =almain(x_al)

%本程序为拉格朗日乘子算法示例算法%函数输入:

% x_al:初始迭代点

% r_al:初始拉格朗日乘子N-equ:等式约束个数N_inequ:不等式约束个数?%函数输出% X:最优函数点FVAL:最优函数值

%============================程序开始================================ global r_al pena ; %参数(全局变量)

pena=10; %惩罚系数

r_al=[1,1,1,1];

c_scale=2; %乘法系数乘数

cta=; %下降标准系数

e_al=1e-4; %误差控制范围

max_itera=25;

out_itera=1; %迭代次数

%===========================算法迭代开始============================= while out_itera

x_al0=x_al;

r_al0=r_al;

%判断函数?

compareFlag=compare(x_al0);

%无约束的拟牛顿法BFGS

[X,fmin]=fminunc(@alobj,x_al0);

x_al=X; %得到新迭代点

%判断停止条件?

if compare(x_al)

disp('we get the opt point');

break

end

%c判断函数下降度?

if compare(x_al)

pena=1*pena; %可以根据需要修改惩罚系数变量

else

pena=min(1000,c_scale*pena); %%乘法系数最大1000

disp('pena=2*pena');

end

%%?更新拉格朗日乘子

[h,g]=constrains(x_al);

for i=1:1

%%等式约束部分

r_al(i)= r_al0(i)+pena*h(i);

end

for i=1:3

%%不等式约束部分

r_al(i+1)=max(0,(r_al0(i+1)+pena*g(i)));

end

out_itera=out_itera+1;

end

%+++++++++++++++++++++++++++迭代结束+++++++++++++++++++++++++++++++++ disp('the iteration number');

k=out_itera;

disp('the value of constrains'); compare(x_al)

disp('the opt point');

x=x_al;

fmin=obj(X);

>> clear

>> x_al=[0,0];

>> [x,fmin,k]=almain(x_al)

上机大作业3: 1、

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

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

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

Removed_大连理工大学工科数学分析上机作业

工科数学分析上机作业 说明:以下两道题均是使用Matlab 语言,且在Matlab 7.0中运行通过。 1.(两个重要极限)计算下列函数的函数值并画出图形,观察两个重要极限值。 (1)y=f(x)=; (2)y=f(x)=. sin x x (1+x)1x 解:(1)求解过程如下: >> syms x >> y=limit(sin(x)/x) y = 1 >> ezplot(sin(x)/x,[-10*pi,10*pi]) >> ezplot(sin(x)/x,[-1*pi,1*pi]) 其图形如下:

(2)求解过程如下:>> syms x >> y=(1+x)^(1/x)

y = (1+x)^(1/x) >> y=limit((1+x)^(1/x)) y = exp(1) >> ezplot((1+x)^(1/x),[-1000,1000]) >> ezplot((1+x)^(1/x),[-10,10]) >> ezplot((1+x)^(1/x),[-1,1]) 其图像如下:

分析如下:(1)当x 取值为[-30,30]时,由该题的第一个图像可以看到,函数值在不断震荡,一会为正数,一会为负数。

而当x 取值为[-3,3]时,函数值始终大于0。当x 趋近于0时,由该题的第二个图像可以得到函数值为1。 另外,该结论也可以由夹逼法则证明,结果不变,当x 趋近于0时,函数值仍为1。 (2)由该题的三个图像可以知道,该函数在定义域内为单调递减函数。且由该题的第一和二个图像知道,当x 在 [0,10]区间内,函数递减趋势非常迅速。由该题的第三个图像知道,当x 趋于0 时,函数值为自然对数的底数 e ,即约为2.71828. 3.计算f(x)=, 12+1√2π ∫x 0e ?t 2/2dt 1?x ?3的函数值{f (0.1k );k=1,2,…,30}.计算结果取7位有效数字。 解:计算过程为: >> f1= @(t) exp(-(t).^2/2) f1 = @(t) exp(-(t).^2/2) >> for i=1:30

最优化方法大作业答案

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-- 选取最优解:

2016年大连理工大学优化方法上机大作业

2016年理工大学优化方法上机大作业学院: 专业: 班级: 学号: : 上机大作业1: 1.最速下降法:

function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad(x) g = zeros(2,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2); end

function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=1000 dk = -gk; ak =1; f0 = fun(x0); f1 = fun(x0+ak*dk); slope = dot(gk,dk); while f1 > f0 + 0.1*ak*slope ak = ak/4; xk = x0 + ak*dk; f1 = fun(xk); end k = k+1; x0 = xk; gk = grad(xk); res = norm(gk); fprintf('--The %d-th iter, the residual is %f\n',k,res); end x_star = xk; end >> clear

>> x0=[0,0]'; >> eps=1e-4; >> x=steepest(x0,eps)

2.牛顿法: function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad2(x) g = zeros(2,2);

最优化方法大作业

发动机空燃比控制器 引言:我主要从事自动化相关研究。这里介绍我曾经接触过的发动机空燃比控制器设计中的优化问题。 发动机空燃比控制器设计中的最优化问题 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:底部剪力法。 钢筋混凝土5层框架经质量集中后计算简图如下图所示,各层高均为3m , 集中于各楼层的重力荷载代表值分别为: 1500kN G =,2550kN G =,3580kN G =,4600kN G =,5450kN G =。结构阻尼比0.05ξ=,自振周期为10.55s T =,Ⅰ1类 场地类别,设计地震分组为第一组,抗震设防烈度为8度(设计基本地震加速度为0.30g )。按底部剪力法计算结构在多遇地震时的水平地震作用及地震剪力。 3580kN =2550kN =1500kN =(a )计算简图 4600kN =5450kN = 解:查《建筑设计抗震规范》表5.1.4知,8度多遇地震,αmax=设计地震分组为第一组, Ι类场地,取Tg= Tg=<T1=<5Tg= α1=(Tg/T1)r η2αmax =()××=≈ 查《建筑设计抗震规范》表5.2.1知,T 1=>=×= 取δn=T1+=×+= 总水平地震作用标准值: F EK =α1Geq=×(500+550+580+600+450)×85%=

各楼层水平地震作用标准值: Fi=G i H i F EK (1-δn)/∑G j H j (i=1,2,3n) ∑G j H j =500×3 +550×6+580×9+600×12+450×15=23970KN ·m F 1=[500×3××]/23970= F 2=[550×6××]/23970= F 3=[580×9××]/23970= F 4=[600×12××]/23970= F 5=[450×15××]/23970= 计算各楼层的层间地震剪力 V 1= F 1+ F 2+ F 3+ F 4+ F 5=++++= V 2= F 2+ F 3+ F 4+ F 5=+++=152KN V 3= F 3+ F 4+ F 5=++= V 4= F 4+ F 5=+= V 5=F 5= 题目3:怎样判断土的液化如何确定土的液化严重程度,并简述抗液化措施。 答:饱和松散的砂土或粉土(不含黄土),地震时易发生液化现象,使地基承载力丧失或减弱,甚至喷水冒砂,这种现象一般称为砂土液化或地基土液化。其产生的机理为:地下水位以下的饱和砂土和粉土颗粒在地震作用下,土颗粒之间有变密的趋势。因空隙水不能及时排出,土颗粒就处于悬浮状态,形成如同液体一样的现象,即所谓的土的液化现象。地基土液化判别过程可以分为初步判断和标准贯入试验判别两大步骤。下面分别予以介绍。 1、初步判断 饱和的砂土或粉土(不含黄土)当符合下列条件之一时,可初步判别为不液化或不考虑液化影响: (1)地质年代为第四纪晚更新世(Q3)及其以前时且处于烈度7度或者8度地区时可判为不液化土。 (2)粉土的粘粒(粒径<0.005mm )含量百分率当烈度为7度时大于10%、当烈度为8度时大于13%、当烈度为9度时大于16%,可判为不液化土。 (3)浅埋天然地基,当地下水位深度和覆盖非液化土层厚度满足下式之一时,可不考虑液化影响。 03w b d d d >+- 02 u b d d d >+-

大连理工大学优化方法上机大作业程序

函数定义: % 目标函数 function f = fun(x) fm=0; for i=1:499 fmi = (1-x(i))^2 + 100*(x(i+1)-x(i)^2)^2; fm=fm+fmi; end f =fm; end % 梯度 function g = grad(x) g = zeros(500,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); for i=2:499 g(i)=2*(x(i)-1)+400*x(i)*(x(i)^2-x(i+1))+200*(x(i)-x(i-1)^2); end g(500) = 200*(x(500)-x(499)^2); end % 二阶梯度

function g = grad2(x) g = zeros(500,500); g(1,1)=2+400*(3*x(1)^2-x(2)); g(1,2)=-400*x(1); for i=3:500 g(1,i)=0; end for i=1:498 g(500,i)=0; end g(500,499)=-400*x(499); g(500,500)=200; for i=2:499 for j=1:500 if j==i-1 g(i,j)= -400*x(i-1); elseif j==i g(i,j)= 2+400*(3*x(i)^2-x(i+1))+200; elseif j==i+1 g(i,j)= -400*x(i); else g(i,j)=0; end end end end 1.最速下降法 function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=50000 dk = -gk;

最优化原理大作业

基于粒子群算法的神经网络在电液伺服系统中的应用 摘要:由于人工神经网络在解决具有非线性、不确定性等系统的控制问题上具有极大的潜力,因而在控制领域正引起人们的极大关注,并且已在一些响应较慢的过程控制中获得成功应用。由于电液伺服系统属 于非线性系统,因此本文利用神经网络控制电液伺服系统,并利用粒子群优化算法训练该神经网络的 权值。通过对神经网络的优化实现对电液伺服系统的控制。 关键词:神经网络电液伺服系统粒子群算法优化 近年来,由于神经网络具有大规模并行性、冗余性、容错性、本质的非线性及自组织自学习自适应能力,所以已成功地应用于众多领域。但在具有复杂非线性特性的机电设备的实时控制方面,虽然也有一些神经网络技术的应用研究,但距实用仍有一段距离。电液伺服系统就属于这类设备[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)。神经网络算法的学习过程分为正

北航惯性导航大作业

惯性导航基础课程大作业报告(一)光纤陀螺误差建模与分析 班级:111514 姓名: 学号 2014年5月26日

一.系统误差原理图 二.系统误差的分析 (一)漂移引起的系统误差 1. εx ,εy ,εz 对东向速度误差δVx 的影响 clc;clear all; t=1:0.01:25; g=9.8; L=pi/180*39; Ws=2*pi/84.4*60; Wie=2*pi/24; R=g/(Ws)^2; e=0.1*180/pi; mcVx1=e*g*sin(L)/(Ws^2-Wie^2)*(sin(Wie*t)-Wie*sin(Ws*t)/Ws); mcVx2=e*((Ws^2-(Wie^2)*((cos(L))^2))/(Ws^2-Wie^2)*cos(Ws*t)-(Ws^2)*((sin(L))^2)*cos(Wi e*t)/(Ws^2-Wie^2)-(cos(L))^2); mcVx3=(sin(L))*(cos(L))*R*e*((Ws^2)*cos(Wie*t)/(Ws^2-Wie^2)-(Wie^2)*cos(Ws*t)/(Ws^2-Wi e^2)-1); plot(t,[mcVx1',mcVx2',mcVx3']); title('Ex,Ey,Ez 对Vx 的影响'); xlabel('时间t'); ylabel('Vx(t)'); 0,δλδL ,v v δδ

legend('Ex-mcVx1','Ey-mcVx2','Ez-mcVx3'); grid; axis square; 分析:εx,εy,εz对东向速度误差δVx均有地球自转周期的影响,εx,εy还会有舒勒周期分量的影响,其中,εy对δVx的影响较大。 2.εx,εy,εz对东向速度误差δVy的影响 clc;clear all; t=1:0.01:25; g=9.8; L=pi/180*39; Ws=2*pi/84.4*60; Wie=2*pi/24; R=g/(Ws)^2; e=0.1*180/pi; mcVy1=e*g*(cos(Wie*t)-cos(Ws*t))/(Ws^2-Wie^2); mcVy2=g*sin(L)*e/(Ws^2-Wie^2)*(sin(Wie*t)-Wie/Ws*sin(Ws*t)); mcVy3=g*cos(L)*e/(Ws^2-Wie^2)*(sin(Wie*t)-Wie/Ws*sin(Ws*t)); plot(t,[mcVy1',mcVy2',mcVy3']); title('Ex,Ey,Ez对Vy的影响'); xlabel('时间t'); ylabel('Vy(t)'); legend('Ex-mcVy1','Ey-mcVy2','Ez-mcVy3'); grid; axis square;

大连理工大学数据结构(一)上机作业答案——张老师

1.将顺序表逆置,要求用最少的附加空间。 参考答案 #include #include #include #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int ElemType; typedef int Status; #define LIST_INIT_SIZE 100 #define LISTTINCREMENT 10 typedef struct{ ElemType *elem; int length; int listsize; }SqList; //创建空顺序表 Status InitList_Sq(SqList &L){ L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L.elem)exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK; } //创建顺序表,插入元素 void ListInput_Sq(SqList &L){ int n,i; printf("input the length of Sqlist:"); scanf("%d",&n); L.length=n; for(i=0;i

大连理工大学概率上机作业

第一次上机作业 1.利用Matlab自带命令产生1000个均匀随机变量服从U(0,1)。 >>unifrnd(0,1,20,50) ans= Columns1through10 0.81470.65570.43870.75130.35170.16220.10670.85300.78030.5470 0.90580.03570.38160.25510.83080.79430.96190.62210.38970.2963 0.12700.84910.76550.50600.58530.31120.00460.35100.24170.7447 0.91340.93400.79520.69910.54970.52850.77490.51320.40390.1890 0.63240.67870.18690.89090.91720.16560.81730.40180.09650.6868 0.09750.75770.48980.95930.28580.60200.86870.07600.13200.1835 0.27850.74310.44560.54720.75720.26300.08440.23990.94210.3685 0.54690.39220.64630.13860.75370.65410.39980.12330.95610.6256 0.95750.65550.70940.14930.38040.68920.25990.18390.57520.7802 0.96490.17120.75470.25750.56780.74820.80010.24000.05980.0811 0.15760.70600.27600.84070.07590.45050.43140.41730.23480.9294 0.97060.03180.67970.25430.05400.08380.91060.04970.35320.7757 0.95720.27690.65510.81430.53080.22900.18180.90270.82120.4868 0.48540.04620.16260.24350.77920.91330.26380.94480.01540.4359 0.80030.09710.11900.92930.93400.15240.14550.49090.04300.4468 0.14190.82350.49840.35000.12990.82580.13610.48930.16900.3063 0.42180.69480.95970.19660.56880.53830.86930.33770.64910.5085 0.91570.31710.34040.25110.46940.99610.57970.90010.73170.5108 0.79220.95020.58530.61600.01190.07820.54990.36920.64770.8176 0.95950.03440.22380.47330.33710.44270.14500.11120.45090.7948 Columns11through20 0.64430.31110.08550.03770.03050.05960.17340.95160.03260.2518 0.37860.92340.26250.88520.74410.68200.39090.92030.56120.2904 0.81160.43020.80100.91330.50000.04240.83140.05270.88190.6171 0.53280.18480.02920.79620.47990.07140.80340.73790.66920.2653 0.35070.90490.92890.09870.90470.52160.06050.26910.19040.8244 0.93900.97970.73030.26190.60990.09670.39930.42280.36890.9827 0.87590.43890.48860.33540.61770.81810.52690.54790.46070.7302

最优化方法大作业答案

武工院你们懂的 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

北航数值分析大作业第二题精解

目标:使用带双步位移的QR 分解法求矩阵10*10[]ij A a =的全部特征值,并对其中的每一个实特征值求相应的特征向量。已知:sin(0.50.2)() 1.5cos( 1.2)(){i j i j ij i j i j a +≠+== (i,j=1,2, (10) 算法: 以上是程序运作的逻辑,其中具体的函数的算法,大部分都是数值分析课本上的逻辑,在这里特别写出矩阵A 的实特征值对应的一个特征向量的求法: ()[]()() []()[]()111111I 00000 i n n n B A I gause i n Q A I u Bu u λλ-?-?-=-?-?? ?-=????→=??????→= ?? ? 选主元的消元 检查知无重特征值 由于=0i A I λ- ,因此在经过选主元的高斯消元以后,i A I λ- 即B 的最后一行必然为零,左上方变 为n-1阶单位矩阵[]()()11I n n -?-,右上方变为n-1阶向量[]()11n Q ?-,然后令n u 1=-,则 ()1,2,,1j j u Q j n ==???-。

这样即求出所有A所有实特征值对应的一个特征向量。 #include #include #include #define N 10 #define E 1.0e-12 #define MAX 10000 //以下是符号函数 double sgn(double a) { double z; if(a>E) z=1; else z=-1; return z; } //以下是矩阵的拟三角分解 void nishangsanjiaodiv(double A[N][N]) { int i,j,k; int m=0; double d,c,h,t; double u[N],p[N],q[N],w[N]; for(i=0;i

大连理工大学-环境化学-所有作业答案

绪论部分: 2、简述环境问题的分类?(10分) 答:环境问题是多方面的,但大致可分为两类:原生环境问题和次生环境问题。由自然力引起的为原生环境问题,也称为第一环境问题。由于人类生产和生活引起生态系统破坏和环境污染,反过来又危及人类自身和生存和发展的现象,为次生环境问题,也叫第二环境问题。原生环境问题和次生环境问题很难截然分开,它们之间常常存在着某种程度的因果关系和相互作用。 4、什么是环境化学,学习环境化学有什么意义?(10分) 答:环境化学是一门研究有害化学物质在环境介质中的存在、化学特性、行为和效应及其控制的化学原理和方法的科学。 意义:用来掌握污染来源,消除和控制污染,确定环境保护决策,以及提供科学依据诸方面都起着重要的作用。 5、简述环境化学的分支学科。(10分) 答:主要包括6类。 ①环境分析化学:是研究化学品的形态、价态、结构、样品前处理和痕量分析的学科。 ②环境污染化学:大气、水体和土壤环境化学,元素循环的化学过程。 ③污染控制化学:主要研究与污染控制有关的化学机制及工艺技术中化学基础性问题。 ④污染生态化学:是研究化学污染物在生态系统中产生生态效应的化学过程的学科。 ⑤环境计算化学:主要利用有效的数学近似以及电脑程序计算分子的性质。 ⑥环境生物化学:是研究环境化学品对生命影响的学科。 第一章: 1、地球环境主要由哪些圈层构成?英文单词?各之间有什么联系?各有哪些性 质?(10分) 答:地球环境主要由大气圈(atmosphere)、水圈(hydrosphere)、土壤圈(pedosphere)、岩石圈(lithosphere)和生物圈(biosphere)构成。 联系:大气圈、水圈、土壤圈和生物圈共同组成了地球环境系统,每个圈层都离不开

大连理工大学优化方法上机大作业

2016年大连理工大学优化 方法上机大作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

2016年大连理工大学优化方法上机大作业学院: 专业: 班级: 学号: 姓名: 上机大作业1: 1.最速下降法:

function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad(x) g = zeros(2,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2); end function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=1000 dk = -gk;

ak =1; f0 = fun(x0); f1 = fun(x0+ak*dk); slope = dot(gk,dk); while f1 > f0 + 0.1*ak*slope ak = ak/4; xk = x0 + ak*dk; f1 = fun(xk); end k = k+1; x0 = xk; gk = grad(xk); res = norm(gk); fprintf('--The %d-th iter, the residual is %f\n',k,res); end x_star = xk; end >> clear >> x0=[0,0]'; >> eps=1e-4; >> x=steepest(x0,eps)

大连理工优化方法大作业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;

大连理工大学矩阵与数值分析上机作业

矩阵与数值分析上机作业 学校:大连理工大学 学院: 班级: 姓名: 学号: 授课老师:

注:编程语言Matlab 程序: Norm.m函数 function s=Norm(x,m) %求向量x的范数 %m取1,2,inf分别表示1,2,无穷范数 n=length(x); s=0; switch m case 1 %1-范数 for i=1:n s=s+abs(x(i)); end case 2 %2-范数 for i=1:n s=s+x(i)^2; end s=sqrt(s); case inf %无穷-范数 s=max(abs(x)); end 计算向量x,y的范数 Test1.m clear all; clc; n1=10;n2=100;n3=1000; x1=1./[1:n1]';x2=1./[1:n2]';x3=1./[1:n3]'; y1=[1:n1]';y2=[1:n2]';y3=[1:n3]'; disp('n=10时'); disp('x的1-范数:');disp(Norm(x1,1)); disp('x的2-范数:');disp(Norm(x1,2)); disp('x的无穷-范数:');disp(Norm(x1,inf)); disp('y的1-范数:');disp(Norm(y1,1)); disp('y的2-范数:');disp(Norm(y1,2)); disp('y的无穷-范数:');disp(Norm(y1,inf)); disp('n=100时'); disp('x的1-范数:');disp(Norm(x2,1));

disp('x的2-范数:');disp(Norm(x2,2)); disp('x的无穷-范数:');disp(Norm(x2,inf)); disp('y的1-范数:');disp(Norm(y2,1)); disp('y的2-范数:');disp(Norm(y2,2)); disp('y的无穷-范数:');disp(Norm(y2,inf)); disp('n=1000时'); disp('x的1-范数:');disp(Norm(x3,1)); disp('x的2-范数:');disp(Norm(x3,2)); disp('x的无穷-范数:');disp(Norm(x3,inf)); disp('y的1-范数:');disp(Norm(y3,1)); disp('y的2-范数:');disp(Norm(y3,2)); disp('y的无穷-范数:');disp(Norm(y3,inf)); 运行结果: n=10时 x的1-范数:2.9290;x的2-范数:1.2449; x的无穷-范数:1 y的1-范数:55; y的2-范数:19.6214; y的无穷-范数:10 n=100时 x的1-范数:5.1874;x的2-范数: 1.2787; x的无穷-范数:1 y的1-范数:5050; y的2-范数:581.6786; y的无穷-范数:100 n=1000时 x的1-范数:7.4855; x的2-范数:1.2822; x的无穷-范数:1 y的1-范数: 500500; y的2-范数:1.8271e+004;y的无穷-范数:1000 程序 Test2.m clear all; clc; n=100;%区间 h=2*10^(-15)/n;%步长 x=-10^(-15):h:10^(-15); %第一种原函数

结构优化设计大作业(北航)

《结构优化设计》 大作业报告 实验名称: 拓扑优化计算与分析 1、引言 大型的复杂结构诸如飞机、汽车中的复杂部件及桥梁等大型工程的设计问题,依靠传统的经验和模拟实验的优化设计方法已难以胜任,拓扑优化方法成为解决该问题的关键手段。近年来拓扑优化的研究的热点集中在其工程应用上,如: 用拓扑优化方法进行微型柔性机构的设计,车门设计,飞机加强框设计,机翼前缘肋设计,卫星结构设计等。在其具体的操作实现上有两种方法,一是采用计算机语言编程计算,该方法的优点是能最大限度的控制优化过程,改善优化过程中出现的诸如棋盘格现象等数值不稳定现象,得到较理想的优化结果,其缺点是计算规模过于庞大,计算效率太低;二是借助于商用有限元软件平台。本文基于matlab软件编程研究了不同边界条件平面薄板结构的在各种受力情况下拓扑优化,给出了几种典型结构的算例,并探讨了在实际优化中优化效果随各参数的变化,有助于初学者初涉拓扑优化的读者对拓扑优化有个基础的认识。

2、拓扑优化研究现状 结构拓扑优化是近20年来从结构优化研究中派生出来的新分支,它在计算结构力学中已经被认为是最富挑战性的一类研究工作。目前有关结构拓扑优化的工程应用研究还很不成熟,在国外处在发展的初期,尤其在国内尚属于起步阶段。1904 年Michell在桁架理论中首次提出了拓扑优化的概念。自1964 年Dorn等人提出基结构法,将数值方法引入拓扑优化领域,拓扑优化研究开始活跃。20 世纪80 年代初,程耿东和N. Olhoff在弹性板的最优厚度分布研究中首次将最优拓扑问题转化为尺寸优化问题,他们开创性的工作引起了众多学者的研究兴趣。1988年Bendsoe和Kikuchi发表的基于均匀化理论的结构拓扑优化设计,开创了连续体结构拓扑优化设计研究的新局面。1993年Xie.Y.M和Steven.G.P 提出了渐进结构优化法。1999年Bendsoe和Sigmund证实了变密度法物理意义的存在性。2002 年罗鹰等提出三角网格进化法,该方法在优化过程中实现了退化和进化的统一,提高了优化效率。目前常使用的拓扑优化设计方法可以分为两大类:退化法和进化法。结构拓扑优化设计研究,已被广泛应用于建筑、航天航空、机械、海洋工程、生物医学及船舶制造等领域。 3、拓扑优化建模(SIMP) 结构拓扑优化目前的主要研究对象是连续体结构。优化的基本方法是将设计区域划分为有限单元,依据一定的算法删除部分区域,形成带孔的连续体,实现连续体的拓扑优化。连续体结构拓扑优化方法目前比较成熟的是均匀化方法、变密度方法和渐进结构优化方法。 变密度法以连续变量的密度函数形式显式地表达单元相对密度与材料弹性模量之间的对应关系,这种方法基于各向同性材料,不需要引入微结构和附加的均匀化过程,它以每个单元的相对密度作为设计变量,人为假定相对密度和材料弹性模量之间的某种对应关系,程序实现简单,计算效率高。变密度法中常用的插值模型主要有:固体各向同性惩罚微结构模型(solidisotropic microstructures with penalization,简称SIMP)和材料属性的合理近似模型(rational approximation ofmaterial properties,简称RAMP)。而本文所用即为SIMP插值模型。

相关文档
最新文档