Unable to perform assignment because the left and right sides have a different number of elements
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am getting the message, in the title when trying to run this code. How do I sort this?
% Euler's Method
% Initial conditions and setup
h = 0.1; % step size
x = 0:h:4; % the range of x
y = zeros(size(x)); % allocate the result y
y(i) = (2); % the initial y value
n = numel(y); % the number of y values
% The loop to solve the DE
for i=1:n-1
f = y(i)*cos(x).^2;
y(i+1) = y(i) + h * f;
end
0 commentaires
Réponses (1)
JESUS DAVID ARIZA ROYETH
le 19 Nov 2019
Modifié(e) : JESUS DAVID ARIZA ROYETH
le 19 Nov 2019
congratulations! ,you did very well, just a few small changes:
% Euler's Method
% Initial conditions and setup
h = 0.1; % step size
x = 0:h:4; % the range of x
y = zeros(numel(x),1); % allocate the result y
y(1) = (2); % the initial y value
n = numel(y); % the number of y values
% The loop to solve the DE
for i=2:n
f = y(i-1)*cos(x(i-1)).^2;
y(i) = y(i-1) + h * f;
end
syms Y(X)
yy=matlabFunction(dsolve(diff(Y)==Y*cos(X).^2,Y(0)==2));
figure;
plot(x,y,'r*-',x,yy(x),'b*-');
legend('Euler','Real')
2 commentaires
JESUS DAVID ARIZA ROYETH
le 19 Nov 2019
you did very well, just a few small changes:
% Euler's Method
% Initial conditions and setup
h = 0.1; % step size
x = 0:h:4; % the range of x
y = zeros(numel(x),1); % allocate the result y
y(1) = (2); % the initial y value
n = numel(y); % the number of y values
% The loop to solve the DE
for i=2:n
f = y(i-1)*cos(x(i-1)).^2;
y(i) = y(i-1) + h * f;
end
syms Y(X)
yy=matlabFunction(dsolve(diff(Y)==Y*cos(X).^2,Y(0)==2));
figure;
plot(x,y,'r*-',x,yy(x),'b*-');
legend('Euler','Real')
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!