Euler method error in code Index exceeds the number of array elements (1). in my my code
1 次查看(过去 30 天)
显示 更早的评论
my code
b=input('enter the starting value of b here ')
a=input('enter the starting value of a here ')
h= 15
i=600
x(1)= 0
y(1)= 0
for n=1:h:i
x(n+1)=x(n)+(a(400-x(n)))/(sqr((400-x(n))^2+(y(n)^2)))*h
y(n+1)=y(n)+(b-((a*y(n))/(sqr((400-x(n))^2+(y(n)^2)))))*h
if x <= 400
break
end
end
plot(x,y,'r')
2 个评论
采纳的回答
Fabio Freschi
2019-11-17
Checking the sintax of the code only I see 3 issues
1) In the for loop you wrote a(400-x(n)), that is you are addressing the position 400-x(n) = 400 when n = 1 of the variable a. but a is a scalar. so I guess you forgot an operator like, for example a*(400-x(n)) or a+(400-x(n))...
2) you are using sqr instead of sqrt to extract the square root
3) you should preallocate your vectors x and y as x = zeros(i,1); y = zeros(i,1);
Note also that using i as variable can be misleading because it is often used as index
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Performance 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!