通过用二分法求直线x=a,它把由曲线f(x)=xsin(x)在[0,π]上与x轴围成的封闭图形按面积一分为二(误差不超过10^-3),并作图显示,含有循环语句和条件语句的MATLAB程序。
clear all,clc
syms x
l = 0;
r = pi;
a = (l+r)/2;
f = x*sin(x);
s = int(f,[0 a]);
S = int(f,0,pi);
while(abs(S/2-s) > 1e-3)
if s<S/2
l = a;
else
r = a;
end
a = (l+r)/2;
s = int(f,0,a);
end
fplot(f, [0,pi])
hold on
plot(a+0.*(0:0.1:pi),0:0.1:pi)