Error using / Matrix dimensions must agree

1 次查看(过去 30 天)
N = 10;
h=tFinal/N;
t=linspace(0,tFinal,N+1); % type 'help linspace' to see how this works
y=zeros(1,N+1);
yExact=9/((3.*t-1+10.*exp(-3.*t)));
y(0) = 1; % setting the initial condition
for n=1:N
y(n+1) = y(n) + h * y(n)*(3-t*y(n));
end
plot(t,y,t,yExact,'--')
xlabel('t'); ylabel('y'); title('Look, ma! I solved another ODE in MATLAB!');
error10= abs(y(N+1)-yExact(N+1));

采纳的回答

Adam Danz
Adam Danz 2019-10-4
编辑:Adam Danz 2019-10-4
There's not enough information in your question to know what line is producing the error but I'll go out on a limb and guess that it's this one
yExact=9/((3.*t-1+10.*exp(-3.*t)));
assuming that the divisor is a row vector.
Example:
9/(1:6)
Error using /
Matrix dimensions must agree.
If your intension is to divide a scalar by each element of a vector,
yExact=9 ./ ((3.*t-1+10.*exp(-3.*t)));
% ^ dot

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by