MATLAB: Unable to perform assignment because the left and right sides have a different number of elements.

left and right side have different number of elements

I wrote following code , but it gives the error "unable to perform assignment because the left and right sides have a different number of elements."
The error is in the line of for loop of y(i +1). can anyone help me to correct my mistake? I do not get where I did mistake.
clc;
clear;
close all;
t = zeros(20001,1);
y = zeros(20001,1);
t(1) = 1;
y(1) = 0;
for i = 1:20000
t(i+1) = t(i) - .00005;
y(i+1) = y(i) - .00005*((1 + y(i)).*(27.92*10^(-11)*(t(i).^3+3*t(i).^3.*y)))./(t(i).^2 - 55.85*10^(-11)*t(i).^4);
end
subplot(122)
plot(t,y);

Best Answer

You have a y instead of y(i) in one place. Try:
y(i+1) = y(i) - .00005*((1 + y(i)).*(27.92*10^(-11)*(t(i).^3+3*t(i).^3.*y(i))))./(t(i).^2 - 55.85*10^(-11)*t(i).^4);
Related Question