MATLAB怎么解超越方程,希望有详细的步骤,小白哭泣。非常感谢! 5

a=5,s=0.5,T=5,求p*的值... a=5,s=0.5,T=5,求p*的值 展开
 我来答
lhmhz
高粉答主

2021-07-10 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16998

向TA提问 私信TA
展开全部

如何用MATLAB求解题主给出的超越方程

第一步,利用函数体创建超越方程函数,即

function y = dichotomy_fun(p)

a=5;s=0.5;T=5;

eq1=exp((p+s-a*p)*T)-a-T*(s-a*p)*(1-a);

eq2=p*exp((p+s-a*p)*T)+s-a*p;

eq3=(1-a)/(p+s-a*p);

eq4=log((p*exp((p+s-a*p)*T)+s-a*p)/((p+s-a*p)*exp((p+s-a*p)*T)));

y=eq1/eq2-eq3+a/(s-a*p)*eq4;

第二步,利用ezplot函数,绘制函数图像,以便我们判断其函数的大概值。即

ezplot(@dichotomy_fun)

我们从图形中可以看到,函数值为p=0.12和p=0.21

第三步,使用数值方法(如二分法,牛顿法等)求解,其较高精度的数值解,即

p1=dichotomy(@dichotomy_fun,0.05,0.2,1e-8)

p2=dichotomy(@dichotomy_fun,0.2,0.25,1e-8)

第四步,执行代码后得到精度为1e-8的数值解。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式