bisection method error symbolic
3 次查看(过去 30 天)
显示 更早的评论
hi i'm trying to write a code to solve this question:
the code below need some adjustment to make it work
clear
clc
syms y
q=20;
g=9.8;
b=3+y;
ac=3*y+((y^2)/2);
f=@(y) 1-((q^2)/(g*ac^3)*b);
x1=0.5
xu=2
ezplot(f(y))
grid on
hold on
for i=1:100
xr(i)=(x1+xu)/2
if ((f(x1)*f(xr(i)))<0)
xu=xr(i)
elseif ((f(x1)*f(xr(i))>0))
x1=xr(i)
elseif ((f(x1)*f(xr(i))==0))
break
end
if ((i>1)&&(abs((xr(i)-xr(i-1)))/xr(i-1))*100<0.01)
break
end
plot(xr(i),f(xr(i)),'xr')
end
xr(10)
0 个评论
采纳的回答
Torsten
2022-10-7
syms y
q=20;
g=9.8;
b=3+y;
ac=3*y+y^2/2;
f= 1-q^2/(g*ac^3)*b;
x1=0.5;
xu=2.5;
hold on
fplot(f,[0.5 2.5])
grid on
f = matlabFunction(f);
for i=1:100
xr(i)=(x1+xu)/2;
if ((f(x1)*f(xr(i)))<0)
xu=xr(i);
elseif ((f(x1)*f(xr(i))>0))
x1=xr(i);
elseif ((f(x1)*f(xr(i))==0))
break
end
if ((i>1)&&(abs((xr(i)-xr(i-1)))/xr(i-1))*100<0.01);
break
end
end
plot(xr,f(xr),'xr')
hold off
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!