matlab 程序解释 ?

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:10:14
m函数文件
function dy=eq3(t,y)
dy=zeros(2,1);
dy(1)=20*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);
dy(2)=20*(20+15*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);

m脚本文件
t0=0;tf=60;
[t,y]=ode45('eq3',[t0 tf],[0 0]);
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'-')
hold on
plot(y(:,1),y(:,2),'*')

如上题中 的tf 是干什么用的? 求每一步骤的注释! 好就立刻给分
还有最后一步是怎么执行的 啊?

m函数文件
function dy=eq3(t,y)
dy=zeros(2,1);%dy定义为两行一列的矩阵,即列向量
dy(1)=20*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2); %两个微分方程的右边的表达式
dy(2)=20*(20+15*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);

m脚本文件
t0=0;tf=60; %t0是时间的起点,tf是时间的终点
[t,y]=ode45('eq3',[t0 tf],[0 0]); %这里一般给定三个东西,第一个是方程的m文件名,中间那个是时间的起始点和终点,最后那个是初值
T=0:0.1:2*pi;
X=10+20*cos(T);
Y=20+15*sin(T);
plot(X,Y,'-') %应当是一个椭圆
hold on
plot(y(:,1),y(:,2),'*') %相图