7、签text(length(xx),xx(end),num2str(xx(end)),[图示]用下标作为自变量画迭代的折线。要迭代19次才能达到精度,超越方程的解为'fontsize',fs)%显示结果如P0_20_1图所示,当最大误差为10-4时,需27.539。[算法]方法二:用求零函数和求解函数。将方程改为函数f(x)=21n(x)七-100xMATLAB求零函数为fzero,fzero函数的格式之一是x=fzero(f,x0)其中,f表示求解的函数文件,x0是估计值。fzero函数的格式之二是x=fzero(f,[x1,x2])其中,x1和x2表
8、示零点的范围。另外MATLAB还有求解函数solve,计算非线性方程和方程组的符号解。[程序]P1_2fzero.m如下。9超越方程的求法clearx=10:0.1:100;f=inline('2*log(x)-3-100./x')figureplot(x,f(x),'LineWidth',2)gridonx0=fzero(f,[20,30]);%x0=fzero(f,20);%holdon%清除变量%自变量向量%定义内线函数用的是字符窜%创建图形窗口%画曲线%加网格%求方程的零点求方程的零点%保持图像plot(x0,f(x0),'.')%画零点tit
9、le('超越方程的解','fontsize',16)%标题xlabel('itx','fontsize',16)%x标签ylabel('itf','fontsize',16)%y标签text(x0,0,num2str(x0),'fontsize',16)x0=solve('2*log(x)-3-100./x')plot(double(x0),0,'o')%标记零点%求超越方程的符号解%再画零点(double是把字符转化成数字)2.导数的计算正弦函数y=sinx的导数是余弦函数y'=cosx,余弦函数的导数是负的正弦函数,用MATLAB的数值导数和符
10、号导数求正弦函数的一阶和二阶导数,并与其解析解进行比较。[程序]P2diff.m如下。%正弦函数导数的计算方法cleardx=0.01*2*pi;x=0:dx:2*pi;y=sin(x);f1=diff(y)/dx;%清除变量%间隔%自变量向量%原函数%通过差分求导数f1=[f1(1),(f1(1:end-1)+f1(2:end))/2,f1(end)];%求平均值figure%创建图形窗口plot(x,cos(x),x,f1,'.')%plot(x,cos(x),x(1:end-1),f1,'.')%%plot(x,cos(x),x(2:end),f
11、1,'.')%symssxy=sin(sx);dy_dx=diff(y);df1=subs(dy_dx,sx,x);holdonplot(x,df1,'ro')gridon%画一阶导数和数值差分曲线数值导数(点)偏左数值导数(点)偏右%定义符号变量%建立符号函数%求符号导数%符号替换数值%保持图像%画符号导数曲线%加网格legend('解析导数’,‘数值差分’,‘符号导数’,4)%图例title('正弦函数的一阶导数','FontSize',16)%加标题f2=diff(f1)/dx;f2=[f2(1),(f2(1:end-1)+f2(2:end))/
12、2,f2(end)];d2y_dx2=diff(y,2);df2=subs(d2y_dx2,s