如何用matlab外推法确定函数f(x)=3x∧3-8x+9的一维优化初始区间

如何用matlab外推法确定函数f(x)=3x∧3-8x+9的一维优化初始区间,第1张

首先拍肢拆你的建立三个M函数饥禅文件,分别建立文件夹: (1)袭枣%typbound.mfunction [lowbound,upbound]=typbound(x0,step0,startopint,searchdirection) step=step0

f=inline('-y+x+1','x','y') %微分方程的右边项

dx=0.05 %x方向步长

xleft=0%区域的左边界

xright=10%区域的右边界

xx=xleft:dx:xright %一系列离散的点

n=length(xx) %点的个数

y0=1

%%(1)欧拉法

Euler=y0

for i=2:n

Euler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1))

end

%%(2)龙格库塔法

RK=y0

for i=2:n

k1=f(xx(i-1),RK(i-1))

k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2)

k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/漏正2)

k4=f(xx(i-1)+dx,RK(i-1)+k3*dx)

RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6

end

%%Euler和Rk法结果比较

plot(xx,Euler,xx,RK)

hold on

%精确斗搜中解用作图

syms x

rightsolve=dsolve('Dy=-y+x+1','y(0)=1','x')%求出解析解

rightdata=subs(rightsolve,xx)%将xx代入解析解,得到解析解对应的数值

plot(xx,rightdata,'r*')

legend('Euler','空山Runge-Kutta','analytic')

http://zhidao.baidu.com/question/117345902.html?fr=qrl&cid=983&index=1&fr2=query

求递推公式的matlab程序还此宴可以用符号运算的方法来解

数列的递推公式到一般式的转返伏化问题可以用MATLAB的MuPad解决

如图

解得 K(n)=C4*a^n - b/(a - 1) 其中C4是一个常数

然后就用这个公式代漏扒携入自己需要的值就行了


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存