资源描述:
《MATLAB中函数的数值运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件应用主讲:李强Email:qianglinan@126.com数学与信息科学学院1.3MATLAB中函数的数值运算MATLAB除了可以进行简单的数值运算外,还可以由用户自定义函数建立一元或多元数值函数。通过建立函数,可以求解相关的各种问题,如求函数的值、零点、极值、积分等。1.3.1数值函数的建立MATLAB建立数值函数通常有两种方式:一种使用inline命令;另一种是通过编写函数程序,用function来定义函数。1.3.1数值函数的建立使用inline命令Inline内联的INLINEConstru
2、ctINLINEobject.INLINE(EXPR)constructsaninlinefunctionobjectfromtheMATLABexpressioncontainedinthestringEXPR.TheinputargumentsareautomaticallydeterminedbysearchingEXPRforvariablenames(seeSYMVAR).Ifnovariableexists,'x'isused.INLINE(EXPR,ARG1,ARG2,...)construc
3、tsaninlinefunctionwhoseinputargumentsarespecifiedbythestringsARG1,ARG2,...Multicharactersymbolnamesmaybeused.INLINE(EXPR,N),whereNisascalar,constructsaninlinefunctionwhoseinputargumentsare'x','P1','P2',...,'PN'.Examples:g=inline('t^2')g=inline('sin(2*pi*f+
4、theta)')g=inline('sin(2*pi*f+theta)','f','theta')g=inline('x^P1',1)SeealsoSYMVAR.例如:f=inline('x.^2-3')%建立一元函数f(x)=x2-3g=inline('x.^y-3','x','y')%建立二元函数f(x)=xy-3g=inline('x.^y-3','y','x')%建立二元函数f(x)=xy-3注意g(x,y)与h(y,x)的区别,如g(2,3)=5,h(2,3)=6,为什么?使用function创建
5、M函数(实验3将详细介绍)编写程序建立一个M函数是MATLAB的一种常用方式。例如在编辑窗口驶入如下程序:functiony=f1(x)%声明建立一个名为f1的函数;y=x.^2-3;%建立函数f(x)=x2-3,x可以为向量用文件名f1(函数名)保存程序,生成f1.m文件即为建立的函数。M-函数必须由function语句引导,具体格式为:function[输出变量列表]=函数名(输入变量列表)例1-12建立同时计算y1=(a+b)n,y2=(a-b)n的函数,即任给a、b、n三个数,返回y1、y2。在编辑
6、窗口中输入如下程序:例1-12建立同时计算y1=(a+b)n,y2=(a-b)n的函数,即任给a、b、n三个数,返回y1、y2。在编辑窗口中输入如下程序:function[y1,y2]=fun1(a,b,n)y1=(a+b).^n;y2=(a-b).^n;输入完成后用函数名fun1作为文件名存盘,形成一个函数文件:fun1.m,可以进行调用。1.3.2数值函数的运算当一个数值函数通过上述方法,由inline或function建立以后,就可以用于求解相关的各种问题,如求函数值,函数的零点、极值、积分等。1.求
7、函数值当自变量为给定的值或向量时,函数返回相应的函数值或函数值向量。例如:对于上一节建立的函数f(x)、g(x,y)、h(y,x)、f1(x)和fun1(a,b,n)有如下结果:例如:对于上一节建立的函数f(x)、g(x,y)、h(y,x)、f1(x)和fun1(a,b,n)有如下结果:>>f=inline('x.^2-3')%建立一元函数f(x)=x2-3f=Inlinefunction:f(x)=x.^2-3>>f(2)ans=1>>g=inline('x.^y-3','x','y')%建立二元函数f(
8、x)=xy-3g=Inlinefunction:g(x,y)=x.^y-3>>g(2,3)ans=5>>Y=f1(2)Y=1>>f([123])ans=-216>>[y1,y2]=fun1(1,2,3)%此处不能写为[y1,y2]=fun1(123)y1=27y2=-1请用实验验证以上结果,并总结数值函数的定义与用法。2.数值函数的图形x=0:0.01:2;%生成自变量;y=1./((x-0.3).^2+0.01