[已解决] desolve函数运算结果与解不符

[复制链接]
Quay 发表于 2021-6-5 09:28:37
微分方程:


解:



我的代码:
  1. clearvars;
  2. syms y(x);
  3. dy=diff(y,x);
  4. eqn=(1-x)*diff(y,x,2)-sqrt(1+dy.^2)/5==0;
  5. con=[y(0)==0,dy(0)==0]
  6. y=dsolve(eqn,con)
复制代码


结果:
y =

(5*(3*(x - 1)^(4/5) - (-1)^(4/5) + 2*(-1)^(3/5)*(x - 1)^(6/5)))/(24*(-(-1)^(3/5))^(1/2))
                - (5*(-1)^(1/5)*(x - 1)^(4/5))/8 - (5*(-1)^(4/5)*(x - 1)^(6/5))/12 - 5/24

想问一下哪里有问题,谢谢了!

最佳答案


TouAkira 发表于 2021-6-5 10:13:02
图里方程根号下的部分是二阶导数,怎么到了代码sqrt里面就成了一阶导数的平方?

4 条回复


Quay 发表于 2021-6-5 10:24:37
深蓝孩童 发表于 2021-6-5 10:17
考虑你的代码写对的情况,MATLAB给出的解就是你要的解,见下图。只不过,不太清楚为什么不能继续简化,simp ...

非常感谢!

Quay 发表于 2021-6-5 10:20:52
TouAkira 发表于 2021-6-5 10:13
图里方程根号下的部分是二阶导数,怎么到了代码sqrt里面就成了一阶导数的平方? ...

其实是我公式打错了,是一阶导数的平方

深蓝孩童 发表于 2021-6-5 10:17:31
考虑你的代码写对的情况,MATLAB给出的解就是你要的解,见下图。只不过,不太清楚为什么不能继续简化,simplify不能继续简化 (-1)^(4/5)了,就离谱。
屏幕截图 2021-06-05 101104.png



TouAkira 发表于 2021-6-5 10:13:02
图里方程根号下的部分是二阶导数,怎么到了代码sqrt里面就成了一阶导数的平方?
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表