高数题微分方程初值问题求解。题目如图,写出详细过程在纸上

 我来答
百度网友65971e3
2020-03-09 · TA获得超过687个赞
知道小有建树答主
回答量:284
采纳率:82%
帮助的人:25.1万
展开全部

图一

其实从这里我们可以看出,完全解和通解是不同的,在判断y'的正负号时,我们根据已知条件来取其符号,这样算出来是通解,即满足已知条件的通常解,如果是完全解的话,无论正负都应该考虑的。。。不过书上叫求的一般是通解。

积角累4703
2020-03-09 · TA获得超过4784个赞
知道大有可为答主
回答量:6553
采纳率:83%
帮助的人:200万
展开全部
你好,请搜索”Visual C++常微分方程初值问题求解“可以找到相关资料
例如:
三、 使用经典龙格-库塔算法进行高精度求解
龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。同前几种算法一样,该算法也是构建在数学支持的基础之上的。对于一阶精度的欧拉公式有:
yi+1=yi+h*K1
K1=f(xi,yi)
当用点xi处的斜率近似值K1与右端点xi+1处的斜率K2的算术平均值作为平均斜率K*的近似值,那么就会得到二阶精度的改进欧拉公式:
yi+1=yi+h*( K1+ K2)/2
K1=f(xi,yi)
K2=f(xi+h,yi+h*K1)
 下面的具体程序实现同改进的欧拉算法类似,只需作些必要的改动,下面将该算法的关键部分代码清单列出:
……
for(float x=0;x<0.6;x+=0.1)
{
r=x+expf(-x);
K1=x-y[i]+1; file://求K1
K2=(x+(float)(0.1/2))-(y[i]+K1*(float)(0.1/2))+1; file://求K2
K3=(x+(float)(0.1/2))-(y[i]+K2*(float)(0.1/2))+1; file://求K3
K4=(x+0.1)-(y[i]+K3*0.1)+1; file://求K4
y[i+1]=y[i]+(float)(0.1*(K1+2*K2+2*K3+K4)/6); file://求yi+1
r=fabs(r-y[i]); file://计算误差
str.Format("y[%d]=%f r=%f\r\n",i,y[i],r);
i++;
msg+=str;
}
AfxMessageBox(msg); file://报告计算结果及误差情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sjh5551
高粉答主

2020-03-09 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.8万
采纳率:63%
帮助的人:7708万
展开全部

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式