重奖!!!!!!!!急!同伦算法的简介!大概1000字左右!

重奖!!!!!!!!急!同伦算法的简介!大概1000字左右!,第1张

根据最优化问题的极值条件,将模量反算转化为非线性映射求零点的问题,结合数值微分计算弯沉对模量的一阶和二阶偏导数,建立了基于同伦方法反算路面模量的数学模型并采用LIYORKE算法求解微分方程初值问题跟踪同伦曲线,获得模量的反算结果,在此基础上编制了相应的模量反算程序。通过对3种路面结构的落锤式弯沉仪(FWD)的实测弯沉盆进行模量反算,并与国内外其它反算程序比较,验证了同伦方法反算结果的精度和可靠性。同时,通过选取不同初始值进行反算比较,验证了同伦方法的大范围收敛性和反算结果的稳定性。结果表明,采用同伦方法进行路面模量反算有效地解决了常规最优化算法的初始值和局部收敛的问题,是一种精度好、速度快、效率高、结果稳定且大范围收敛的模量反算方法。

以上内容没有1000字,自己再展开下吧

function tonglun

syms x1 x2 x3 x4

F=[-cos(x1)+cos(x2)-cos(x3)+cos(x4)-0.6

    -cos(5*x1)+cos(5*x2)-cos(5*x3)+cos(5*x4)

    -cos(7*x1)+cos(7*x2)-cos(7*x3)+cos(7*x4)

    -cos(11*x1)+cos(11*x2)-cos(11*x3)+cos(11*x4)]

var = sym(symvar(findsym(F)))%var is string 要变换下

dF = jacobian(F,var)

x0=[0.39 0.65 0.91 1.18]'

Fx = subs(F,findsym(F),x0)

N=1400

h=1/N

b=-h*Fx

for i=1:N

A=subs(dF,var,x0)

k1=inv(A)*b

A=subs(dF,var,x0+0.5*k1)

k2=inv(A)*b

A=subs(dF,var,x0+0.5*k2)

k3=inv(A)*b

A=subs(dF,var,x0+0.5*k3)

k4=inv(A)*b

x0=x0+(k1+2*k2+2*k3+k4)/6

end

x=x0

disp('The Solution is:')

disp('x=')disp(x)

subs(F,findsym(F),x)

=======================

The Solution is:

x=

   -5.9548

   -5.8381

   -1.6512

   -0.9719

ans =

  1.0e-003 *

    0.0040

   -0.1540

   -0.1043

    0.5477


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11411253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存