论文部分内容阅读
【摘要】 计算一个函数f的零点(即求方程f(x)=0的根)是在科学计算中经常遇到的问题,二分法是解决此类问题的方法之一,matlab在处理用二分法求方程的近似解问题上非常方便,而且可以为学生创造出图文并茂、丰富多彩人机交互、即时反馈的学习环境,为学生更好的学习数学提供了一个有力的辅助工具。
【关键词】 matlab;二分法;解方程;实例分析
现代信息技术的广泛应用正在对数学课程内容、数学教学、数学学习方面产生深刻的影响.《普通高中数学课程标准(实验)》明确指出:“教师应当恰当的使用信息技术,改善学生的学习方式,引导学生借助信息技术学习有关数学内容、探索、研究一些有意义、有价值的数学问题”.因此信息技术在高中数学教学中应占有重要的地位.
Matlab是MATrix LABoratory的缩写,它是Mathwork公司推出的集科学计算、图象可视化和编程功能集成在非常变于使用的环境中,是一个交互式的以矩阵计算的科学和工程计算软件.
计算一个函数f的零点(即求方程f(x)=0的根)是在科学计算中经常遇到的问题,二分法是解决此类问题的方法之一,本文着重讨论怎样用Matlab来解决用二分法求方程的近似解问题.
1 二分法
设有一个变量的函数方程f(x)=0 (1) 其中f(x)为[a,b]上的连续函数,且f(a)f(b)<0,于是有连续函数的性质知,方程(1)在[a,b]上至少有一个实根,即存在 使得f( )=0传统的区间套方法这里就不说了,本文着重谈谈利用Matlab 命令来解决此类问题:
编写程序如下:
f=input('请输入函数f(x)=');
yb=eval(f);
qujian=input('请输入区间=');
x=c;
err=input('请输入误差=');
yc=eval(f);
a=qujian(1);
if ya*yc<0
b=qujian(2);
b=c;
yc=1;
else
while ((b-a)>err)&(yc~=0);
a=c;
c=(a+b)/2;
end
x=a;
x0=c
ya=eval(f);
end
x=b;
存为文件erfenfa.m
2 实例分析
2.1 调用文件法
例1已知f(x)=x3+4x2-10=0在[1,2]上有一实根f(1)=-5;f(2)=14,用二分法求该实根,要求误差不超过10-3
分析:f(x)=x3+4x2-10,f'(x)=3x2+8x=x(3x+8)>0对于x∈[1,2],故f(x)=0在[1,2]上有惟一的实根x*
调用erfenfa.m的如下结果:
erfenfa
请输入函数Ff(x)='x∧3+4*x∧2
-10'
请输入区间=[1,2]
请输入误差=0.001
再利用ezplot语句输出部分
ezplot('x^3-4*x^2-10',[1,2]);grid on;
2.2 直接法
例 2用二分法求方程x=cosx+2的近似根,且绝对误差不超过10-6
解:由条件知方程x=cosx+2在区间(0,3)内至少有一根,下面用二分法来求方程的近似解,由式可知若用xn来近似代替方程的精确解x*其误差不会超过32n为使得|x*-xn|<10-6所以32n<10-6n>1og2(3×106)所以为达到所要求的精度至少要[1og2(3×106)]+1=22次区间对分.
可仿照前面的程序编程来求近似解,也可以直接利用matlab软件提供的命令格式求解.solve('x=cos(x)+2') 执行结果为:
ans =
1.7862294452333111823707901942222
再利用plot语句输出图形:
x=0:0.1:3Y=[x;cos(x)+2];plot(x,y)
3 二分法求方程的近似根可分两步来做
3.1 确定根的大致范围,就是确定一个区间[a,b],使所求的根是位于这个区间内的唯一实根,这一步工作称为根的隔离,区间[a,b]称为所求实根的隔离区间.为了确定根的隔离区间,可以先画出y=f(x)的图形,然后从图上定出它与x轴交点的大概位置.
3.2 以根的隔离区间的端点作为根的初始近似值,逐步改善根的近似值的精确度,直至求得满足精确度要求的根的近似解.
4 结束语
在实际教学中,可将程序中的主要部分预先编制好,保存M-文件,然后在课堂中直接调用、修改、运行,在速度和操作上能满足课堂教学的需要.
通过上面的一些实例可知matlab在处理用二分法求方程的近似解问题上非常方便,而且可以为学生创造出图文并茂、丰富多彩人机交互、即时反馈的学习环境,为学生更好的学习数学提供了一个有力的辅助工具。
参考文献
[1] 萧树铁.数学实验[M].北京:高等教育出版社,1999
收稿日期:2008-01-18
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
【关键词】 matlab;二分法;解方程;实例分析
现代信息技术的广泛应用正在对数学课程内容、数学教学、数学学习方面产生深刻的影响.《普通高中数学课程标准(实验)》明确指出:“教师应当恰当的使用信息技术,改善学生的学习方式,引导学生借助信息技术学习有关数学内容、探索、研究一些有意义、有价值的数学问题”.因此信息技术在高中数学教学中应占有重要的地位.
Matlab是MATrix LABoratory的缩写,它是Mathwork公司推出的集科学计算、图象可视化和编程功能集成在非常变于使用的环境中,是一个交互式的以矩阵计算的科学和工程计算软件.
计算一个函数f的零点(即求方程f(x)=0的根)是在科学计算中经常遇到的问题,二分法是解决此类问题的方法之一,本文着重讨论怎样用Matlab来解决用二分法求方程的近似解问题.
1 二分法
设有一个变量的函数方程f(x)=0 (1) 其中f(x)为[a,b]上的连续函数,且f(a)f(b)<0,于是有连续函数的性质知,方程(1)在[a,b]上至少有一个实根,即存在 使得f( )=0传统的区间套方法这里就不说了,本文着重谈谈利用Matlab 命令来解决此类问题:
编写程序如下:
f=input('请输入函数f(x)=');
yb=eval(f);
qujian=input('请输入区间=');
x=c;
err=input('请输入误差=');
yc=eval(f);
a=qujian(1);
if ya*yc<0
b=qujian(2);
b=c;
yc=1;
else
while ((b-a)>err)&(yc~=0);
a=c;
c=(a+b)/2;
end
x=a;
x0=c
ya=eval(f);
end
x=b;
存为文件erfenfa.m
2 实例分析
2.1 调用文件法
例1已知f(x)=x3+4x2-10=0在[1,2]上有一实根f(1)=-5;f(2)=14,用二分法求该实根,要求误差不超过10-3
分析:f(x)=x3+4x2-10,f'(x)=3x2+8x=x(3x+8)>0对于x∈[1,2],故f(x)=0在[1,2]上有惟一的实根x*
调用erfenfa.m的如下结果:
erfenfa
请输入函数Ff(x)='x∧3+4*x∧2
-10'
请输入区间=[1,2]
请输入误差=0.001
再利用ezplot语句输出部分
ezplot('x^3-4*x^2-10',[1,2]);grid on;
2.2 直接法
例 2用二分法求方程x=cosx+2的近似根,且绝对误差不超过10-6
解:由条件知方程x=cosx+2在区间(0,3)内至少有一根,下面用二分法来求方程的近似解,由式可知若用xn来近似代替方程的精确解x*其误差不会超过32n为使得|x*-xn|<10-6所以32n<10-6n>1og2(3×106)所以为达到所要求的精度至少要[1og2(3×106)]+1=22次区间对分.
可仿照前面的程序编程来求近似解,也可以直接利用matlab软件提供的命令格式求解.solve('x=cos(x)+2') 执行结果为:
ans =
1.7862294452333111823707901942222
再利用plot语句输出图形:
x=0:0.1:3Y=[x;cos(x)+2];plot(x,y)
3 二分法求方程的近似根可分两步来做
3.1 确定根的大致范围,就是确定一个区间[a,b],使所求的根是位于这个区间内的唯一实根,这一步工作称为根的隔离,区间[a,b]称为所求实根的隔离区间.为了确定根的隔离区间,可以先画出y=f(x)的图形,然后从图上定出它与x轴交点的大概位置.
3.2 以根的隔离区间的端点作为根的初始近似值,逐步改善根的近似值的精确度,直至求得满足精确度要求的根的近似解.
4 结束语
在实际教学中,可将程序中的主要部分预先编制好,保存M-文件,然后在课堂中直接调用、修改、运行,在速度和操作上能满足课堂教学的需要.
通过上面的一些实例可知matlab在处理用二分法求方程的近似解问题上非常方便,而且可以为学生创造出图文并茂、丰富多彩人机交互、即时反馈的学习环境,为学生更好的学习数学提供了一个有力的辅助工具。
参考文献
[1] 萧树铁.数学实验[M].北京:高等教育出版社,1999
收稿日期:2008-01-18
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”