false position method to find zeros, not plotting zeros
조회 수: 2 (최근 30일)
이전 댓글 표시
Can someone tell me why this code is not finding/ plotting the roots for my function? I created a plot for function. Then, I wrote the code for false position method to solve for all the zeros of that function (using three x ranges, where I know the three roots are within). Then, I tried to overlay the plot of these zeros onto my old plot.
this is my function file:
function result = lalafunction(x)
result= (2*x.*exp(cos(3*x)).*exp(-x)) + 70 ;
this is my plot file:
plot=figure(2),
x1= -3.5:0.01:-1.5;
for i=1:length(x1)
g(i)=lalafunction(x1(i));
end
plot(x1,g)
this is the file that should plot the zeros. It finds the first two, but not the last one correctly
plot(x1,g)
hold on
xo= [-1.99,-1.90; -2.8,-2.5; -3.3,-3.2];
for ii=1:3
xleft=xo(ii,1);
xright=xo(ii,2);
iteration=1;
while iteration<=100 && abs(xleft-xright)> 10^-3
yleft=lalafunction(xleft);
yright=lalafunction(xright);
xm = xright-((yright*(xright-xleft))/(yright-yleft));
if yleft*lalafunction(xm) < 0
xright=xm;
else
xleft=xm;
end
iteration = iteration +1;
end
xx(ii)= (xleft+xright)/2
yy(ii)= lalafunction(xx(ii))
end
plot (xx,yy,'o')
댓글 수: 0
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!