下面程序size函数的错误(matlab)function [tvals,yvals] = code2(t0,tf,dt,y0)tvals=(t0:dt:tf);n=tf/dt;[t,y]=size(n);for i=1:ny(i+1)=y(i)+2*dt*y(i)/t(i)+2*t(i)^3*dt-3*t(i)^2*dt;endhold onyvals=tvals.^4-3*tvals.^3+tvals.^2*(t0^2-3*t0-y0/(t0^2)
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 21:32:58
![下面程序size函数的错误(matlab)function [tvals,yvals] = code2(t0,tf,dt,y0)tvals=(t0:dt:tf);n=tf/dt;[t,y]=size(n);for i=1:ny(i+1)=y(i)+2*dt*y(i)/t(i)+2*t(i)^3*dt-3*t(i)^2*dt;endhold onyvals=tvals.^4-3*tvals.^3+tvals.^2*(t0^2-3*t0-y0/(t0^2)](/uploads/image/z/5179390-70-0.jpg?t=%E4%B8%8B%E9%9D%A2%E7%A8%8B%E5%BA%8Fsize%E5%87%BD%E6%95%B0%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%88matlab%EF%BC%89function+%5Btvals%2Cyvals%5D+%3D+code2%28t0%2Ctf%2Cdt%2Cy0%29tvals%3D%28t0%3Adt%3Atf%29%3Bn%3Dtf%2Fdt%3B%5Bt%2Cy%5D%3Dsize%28n%29%3Bfor+i%3D1%3Any%28i%2B1%29%3Dy%28i%29%2B2%2Adt%2Ay%28i%29%2Ft%28i%29%2B2%2At%28i%29%5E3%2Adt-3%2At%28i%29%5E2%2Adt%3Bendhold+onyvals%3Dtvals.%5E4-3%2Atvals.%5E3%2Btvals.%5E2%2A%28t0%5E2-3%2At0-y0%2F%28t0%5E2%29)
下面程序size函数的错误(matlab)function [tvals,yvals] = code2(t0,tf,dt,y0)tvals=(t0:dt:tf);n=tf/dt;[t,y]=size(n);for i=1:ny(i+1)=y(i)+2*dt*y(i)/t(i)+2*t(i)^3*dt-3*t(i)^2*dt;endhold onyvals=tvals.^4-3*tvals.^3+tvals.^2*(t0^2-3*t0-y0/(t0^2)
下面程序size函数的错误(matlab)
function [tvals,yvals] = code2(t0,tf,dt,y0)
tvals=(t0:dt:tf);
n=tf/dt;
[t,y]=size(n);
for i=1:n
y(i+1)=y(i)+2*dt*y(i)/t(i)+2*t(i)^3*dt-3*t(i)^2*dt;
end
hold on
yvals=tvals.^4-3*tvals.^3+tvals.^2*(t0^2-3*t0-y0/(t0^2));
legend('Numerical solution','Analytical solution');
title('IVP of question 2')
xlabel('t')
ylabel('y')
下面程序size函数的错误(matlab)function [tvals,yvals] = code2(t0,tf,dt,y0)tvals=(t0:dt:tf);n=tf/dt;[t,y]=size(n);for i=1:ny(i+1)=y(i)+2*dt*y(i)/t(i)+2*t(i)^3*dt-3*t(i)^2*dt;endhold onyvals=tvals.^4-3*tvals.^3+tvals.^2*(t0^2-3*t0-y0/(t0^2)
size函数是用来求一个数组的大小的.比如a是一个数,那么size(a)=[1,1],若A是一个2*3的矩阵,那么size(A)=[2,3];
你的代码中n在语句“for i=1:n”中出现了,因此n=df/dt只可能是一个数,size(n)就是[1,1],那么你的t,y就都赋值成了一个数,t(1)=1,y(1)=1.所以不明白你写那些有什么用处.直接给t(1),y(1)赋值1,1不就好了么.如果对size的用法还有疑问,建议你help size查看