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!