下载

0下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 二分法非线性方程求解

二分法非线性方程求解.doc

二分法非线性方程求解

王chao王
2019-02-23 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《二分法非线性方程求解doc》,可适用于工程科技领域

、编程实现以下科学计算算法并举一例应用之(参考书籍《精通MATLAB科学计算》王正林等编著电子工业出版社年)“二分法非线性方程求解”二分法的具体求解步骤如下。()计算函数f(x)在区间a,b中点的函数值f((ab))并作下面的判断:如果转到()如果令转到()如果则为一个跟。()如果(为预先给定的精度)则为一个根否则令转到()。在MATLAB中编程实现的二分法函数为:HalfInterval。功能:用二分法求函数在某个区间上的一个零点。调用格式:root=HalfInterval(f,a,b,eps)其中f函数名a为区间左端点b为区间右端点eps为根的精度root为求出的函数零点。二分法的MATLAB程序代码如下:functionroot=HalfInterval(f,a,b,eps)二分法求函数f在区间a,b上的一个零点函数名:f区间左端点:a区间右端点:b根的精度:eps求出的函数零点:rootif(nargin==)eps=eendf=subs(sym(f),findsym(sym(f)),a)  两端点的函数值f=subs(sym(f),findsym(sym(f)),b)if(f==)root=aendif(f==)root=bendif(f*f>)disp('两端点函数值乘积大于!')returnelseroot=FindRoots(f,a,b,eps)   调用求解子程序endfunctionr=FindRoots(f,a,b,eps)f=subs(sym(f),findsym(sym(f)),a)f=subs(sym(f),findsym(sym(f)),b)mf=subs(sym(f),findsym(sym(f)),(ab)) 中点函数值if(f*mf>)t=(ab)r=FindRoots(f,t,b,eps)  右递归elseif(f*mf==o)r=(ab)elseif(abs(ba)<=eps)r=(b*a)  输出根elses=(ab)r=FindRooots(f,a,b,eps) 左递归endendend流程图:是否是否否是是是否否否是实例应用:采用二分法求方程在区间上的一个根。解:流程图:在MATLAB命令窗口中输入:r=HalfInterval('x^*x',,)运行结果:、编程以解决以下科学计算问题。试验 现有一平面上的封闭曲线取一点建立坐标系每隔弧度测一点数据如下表:i和XiYiiXiyi          用周期样条求曲线轮廓并作图。分析:将周期样条分成两部分来求最后画在一个图上。用spline进行拟合。流程图:源程序:>>x=y=x=::y=spline(x,y,x)plot(x,y,'*',x,y,'rd')holdonx=y=x=::y=spline(x,y,x)plot(x,y,'*',x,y,'rd')legend('计算数据','实验数据')运行结果:实验用电压V=伏的电池给电容器电容器上t时刻的电压其中是电容器的初始电压是充电常数试由下面一组数确定和。tsVV         分析:采用最小二乘法进行拟合对V(t)=V(VV)exp(tτ)两边求自然对数得到:log(VV(t))=log(VV)tτ令k=τw=log(VV)x=ty=log(VV(t))。得到方程:y=kxw流程图:编程如下:t=V=V=log(V)p,s=polyfit(t,V,)Vp,delta=polyval(p,t,s)t=p()V=exp(p())plot(t,V,'r',t,(V)*exp(tt))legend('实验数据','拟合数据')结果:t=V=实验 假定某天的气温变化记录如下表试用最小二乘方法找出这一天的气温变化规律。thTth T               考虑下列类型函数计算误差平方和并作图比较效果:()二次函数()三次函数()四次函数()函数。分析:对“二次函数”“三次函数”“四次函数”用最小二乘法进行拟合(polyfit),对指数函数首先两边取对数再通过移项化简获得普通形式的函数用最小二乘法进行拟合并求出相应系数。流程图:源程序t=::T=二次函数拟合p,s=polyfit(t,T,)T=polyval(p,t)plot(t,T,'*',t,T)legend('观测数据','计算数据')title('二次函数拟合')pdeltaT=sum((TT)*(TT))三次函数拟合p,s=polyfit(t,T,)T=polyval(p,t)figureplot(t,T,'*',t,T)legend('观测数据','计算数据')title('三次函数拟合')pdeltaT=sum((TT)*(TT))四次函数拟合p,s=polyfit(t,T,)T=polyval(p,t)figureplot(t,T,'*',t,T)legend('观测数据','计算数据')title('四次函数拟合')pdeltaT=sum((TT)*(TT))指数函数拟合Te=log(T)pe,se=polyfit(t,Te,)b=pe()c=pe()ba=exp(pe()c)Te=polyval(pe,t)Te=exp(Te)figureplot(t,T,'*',t,Te)legend('观测数据','计算数据')title('指数函数拟合')abcdeltaTe=sum((TeT)*(TeT))结果:二次函数拟合:三次函数拟合:四次函数拟合:指数函数拟合:误差平方和: 二次方三次方四次方幂函数误差平方和     因此可以看出四次函数拟合的最好其次是三次函数二次函数拟合的最差。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/25

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利