
用matlab 解这个简单微分方程的数值解,急
y'=-y+t+1,y(0)=1第一步要求先解解析解,再解数值解,还要画出解析的图形曲线和数值解图形,求所有的详细代码和图形。说详细点,新手不懂。...
y'=-y+t+1,y(0)=1
第一步要求先解解析解,再解数值解,还要画出解析的图形曲线和数值解图形,求所有的详细代码和图形。说详细点,新手不懂。 展开
第一步要求先解解析解,再解数值解,还要画出解析的图形曲线和数值解图形,求所有的详细代码和图形。说详细点,新手不懂。 展开
2个回答
展开全部
clc
clear all
close all
%主程序:
yy=dsolve('Dy=-y+t+1','y(0)=1','t')
tt=linspace(0,1,1001); % t是[0,0.001,0.002,...,1]
for i=1:1001
t=tt(i);
f1(i)=eval(yy);
end
figure(1)
plot(tt,f1,'r')
title('Ana')
%解析解画完
%数值解
[ttt,f2] = ode45(@rigid,tt,1);
figure(2)
plot(tt,f2,'b')
title('Num')
===================================
%存成rigid.m
function dy=rigid(t,y)
dy=-y+t+1;
===================================
一共两个文件main.m, rigid.m, 不明白可追问
clear all
close all
%主程序:
yy=dsolve('Dy=-y+t+1','y(0)=1','t')
tt=linspace(0,1,1001); % t是[0,0.001,0.002,...,1]
for i=1:1001
t=tt(i);
f1(i)=eval(yy);
end
figure(1)
plot(tt,f1,'r')
title('Ana')
%解析解画完
%数值解
[ttt,f2] = ode45(@rigid,tt,1);
figure(2)
plot(tt,f2,'b')
title('Num')
===================================
%存成rigid.m
function dy=rigid(t,y)
dy=-y+t+1;
===================================
一共两个文件main.m, rigid.m, 不明白可追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询