the question is: Create a function which finds the root of an equation numerically by using the following recursive formula :
이전 댓글 표시
Xn+1=Xn-f(Xn)/g(Xn) for n-1,2,3,...
where g(Xn)=f(Xn+f(Xn))-f(Xn)/f(Xn). This iterative procedure must stop when the absolute difference between Xn and Xn+1 is less than a given tolerance epsilon. The funtion must accept as inputs a scalar function f, an initial number 'x' and a positive number epsilon to terminate the procedure. Hence use this numerical technique to find the root of the equation e^x-x^2=0.
HELP PLEASE :(
syms x
f=exp(x)-x^2;
y(1)=1;
if x(n)-x(n+1)<0.25;
for n=0:1:inf;
x(k+1)=yk-subs(f,x,yk)/subs(g(xn),x,yk);
where g(xn)=(f(xn+f(xn))-f(xn))/(f(xn))
end
end
댓글 수: 4
Walter Roberson
2013년 5월 9일
(A) That is an iterative procedure that is described, not a recursive procedure;
(B) MATLAB does not have any "where" command;
(C) Your x is symbolic, so x(n) is symbolic, making it unlikely that the difference between the two will be numeric so that the difference can be tested in the "if" statement.
Brittany Roland
2013년 5월 9일
Walter Roberson
2013년 5월 10일
syms x g(xn) f(x)
f(x) = exp(x)-x^2;
g(xn) = (f(xn+f(xn))-f(xn))/(f(xn));
That takes care of the "where" part.
Note: this requires a fairly recent version of MATLAB, R2011b or later.
Brittany Roland
2013년 5월 10일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!