1.我们通过调用ODE32函数来求解ODE:
[t,y] = ode23(\'func_name\', [start_time, end_time], y(0))
ode45函数使用更高阶的Runge-Kutta公式。
首先我们定义函数,我们创建一个.m文件,输入下面的内容。
function ydot = eq1(t,y)
ydot = cos(t);
调用的语句是:
>> [t,y] = ode23(\'eq1\',[0 2*pi],2);
>> f = 2 + sin(t);
>> plot(t,y,\'o\',t,f),xlabel(\'t\'),ylabel(\'y(t)\'),axis([0 2*pi 0 4])
>> err = zeros(size(y));
现在我们使用for循环遍历数据,计算每个点上的相对误差:
>> for i = 1:1:size(y)
err(i) = abs((f(i)-y(i))/f(i));
end
请发表评论