Error using / Matrix dimensions must agree

조회 수: 2 (최근 30일)
Daren Wade
Daren Wade 2019년 10월 4일
편집: Adam Danz 2019년 10월 4일
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