matlab解微分方程画图???

functionmat1()symsyt=0:0.1:1y=dsolve('Dy=1-2*y+t','t')[y]endcommandwindow:t=00.10000.... function mat1()
syms y
t=0:0.1:1
y=dsolve('Dy=1-2*y+t','t')
[y]
end

command window:
t =

0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000

y =

t/2 + C3/(4*exp(2*t)) + 1/4

y =

t/2 + C3/(4*exp(2*t)) + 1/4

>> plot(t,y)
??? Undefined function or variable 'y'.
展开
 我来答
tianxiawulang
2013-09-23 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2667万
展开全部

存在的问题:

1、解微分方程的代码写在一个函数里,函数有自己独立工作区,运行函数后,变量的值不会自动保存在命令窗口里,所以会提示y未定义(你应该在之前定义过t,否则应该提示t未定义)。

2、微分方程没提供初始条件,因而求解得到的表达式中含有自由系数C3。

3、解微分方程得到的y是t的表达式,需要将t的实际取值代入才可以得到绘图所需数据。

 

参考代码(假定初值为0):

syms  y
t=0:0.1:1;
y=dsolve('Dy=1-2*y+t','y(0)=0')
y=subs(y);
plot(t,y)
追问
y=subs(y)是什么意思,还有syms不是定义了y么?
追答
y=subs(y):参见上面说的第3点。你用dsolve求出的是关于t的表达式,subs作用是把当前工作区中存在的变量t的具体值代入表达式。
syms y:参见上面说的第1点。你的y是在函数中定义的,而plot是在命令窗口中,二者工作区不一样。
东莞大凡
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间... 点击进入详情页
本回答由东莞大凡提供
小棋手是我
2013-09-22 · TA获得超过335个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:110万
展开全部
差初始条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式