《函数的表达与求根.ppt》由会员分享,可在线阅读,更多相关《函数的表达与求根.ppt(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、函数的表达一、函数的表达二、函数的求根二、函数的求根3/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)一一.函数的一般表达函数的一般表达1.在在Matlab中基本初等函数的表示:中基本初等函数的表示:通常函数通常函数Matlab中的命令中的命令y=sinx、y=cosx、y=tanx y=sin(x)、y=cos(x)、y=tan(x)y=cotx、y=secx、y=cscxy=cot(x)、y=sec(x)、y=csc(x)y=lnx、y=log(x)、y=exp(x),y=sqrt(x)y=arcsinx、y=arccosxy=asin(x)、y=acos(x)y
2、=arctanx、y=arccotxy=atan(x)、y=acot(x)模或绝对值函数、辐角模或绝对值函数、辐角abs、angle实部、虚部、共轭复数实部、虚部、共轭复数real、imag、conj圆周率圆周率,无穷大无穷大,不确定不确定值值pi、inf、nan4/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)1).sym定义函数:进行符号运算的函数定义函数:进行符号运算的函数命令为:命令为:(1)y=sym(f(x)或或 (2)y=f(x)2).inline 定义的函数:用于曲线拟合、数值计算定义的函数:用于曲线拟合、数值计算2.各种定义函数的方法各种定义函数的方法注
3、意:这种函数有时必须在注意:这种函数有时必须在M文件内定义才有效!文件内定义才有效!步骤:步骤:(1)建立建立M文件;文件;(2)fun=inline(f(x),参变量参变量,x)5/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)3).3).利用利用M文件建立函数文件(文件建立函数文件(Function)命令为:命令为:function =说明:说明:注意注意:(1)输入变量用输入变量用()()括起来括起来,输出变量用输出变量用 括起括起来来.(2)函数名和文件名必须相同!函数名开头必须函数名和文件名必须相同!函数名开头必须用字母,区分大小写。用字母,区分大小写。(3)程
4、序开头必须以程序开头必须以fuonncti开始,第二行以后可开始,第二行以后可加入注释行或运算语句。加入注释行或运算语句。6/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)例例1.已知已知 求求y+f方法方法1:在:在MATLAB命令窗口中输入命令窗口中输入 y=sym(sin(x)+cos(x)2)f=sym(cos(2*x);u=simplify(y+f);结果为:结果为:fun(x)=(sin(x)+cos(x)2+cos(2*x)如果直接写如果直接写u=y+f呢?呢?此命令为化简函数此命令为化简函数结果为:结果为:2*cos(x)*(sin(x)+cos(x)方法
5、方法2:建立:建立M文件文件,在在M文件内输入文件内输入:fun=inline(sin(x)+cos(x)2+cos(2*x),x)方法方法3 3:建立文件名为:建立文件名为ffff的函数文件的函数文件输入输入:function y=ff(x)y=(sin(x)+cos(x)2+cos(2*x)7/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)例例2.建立函数:建立函数:a,b,c为待定的参数为待定的参数方法方法1:y=a*(1-b*exp(-c*x)方法方法2:fun=inline(b(1)*(1-b(2)*exp(-b(3)*x),b,x);此处,将此处,将b看成参变
6、量,看成参变量,b(1),b(2),b(3)为其分量为其分量.若计算函数在若计算函数在x=0:0.1:1上的函数值,由于此时上的函数值,由于此时x为为矩阵,只需将函数表达式中的某些量表示成向量矩阵,只需将函数表达式中的某些量表示成向量.有些有些*改成改成.*即可即可.在命令窗口调用在命令窗口调用ffff函数:函数:y=ff(x)y=ff(x)回车后回车后,界面显示所输入的界面显示所输入的x是没有定义的,此时是没有定义的,此时若给若给x赋值,将计算函数赋值,将计算函数y的对应值。在命令窗口的对应值。在命令窗口可以反复调用可以反复调用M函数文件函数文件.8/10MatlabMatlab实验实验实验
7、实验(四)(四)(四)(四)注意注意:多项式中缺少的幂项,要以多项式中缺少的幂项,要以0 0代替代替,不可省略不可省略.只需在命令区中输入:只需在命令区中输入:p=0.6955,0.436,0,1.35;p=0.6955,0.436,0,1.35;即可即可 2.多项式的求根命令多项式的求根命令roots 函数函数 (主要用于多项式求根主要用于多项式求根)例例4.求例求例3中中多项式的根多项式的根 二、多项式的一般表达及非线性方程二、多项式的一般表达及非线性方程(组组)的求根的求根1.1.多项式在多项式在MATLAB中由行向量按照降幂表达中由行向量按照降幂表达.例例3.在在 MATLABMATL
8、AB中中输入四次多项式输入四次多项式 9/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)结果为结果为:x=-1.4952 :x=-1.4952 0.4341+1.0534i 0.4341+1.0534i 0.4341-1.0534i 0.4341-1.0534isolve函数函数(主要用于方程或方程组求根主要用于方程或方程组求根)例例5.求解非线性方程组求解非线性方程组 解:输入:解:输入:p=0.6955,0.436,0,1.35;p=0.6955,0.436,0,1.35;x=roots(p)x=roots(p)解解:输输入入:x,y=solve(x2+x*y+y=3
9、,x2-4*x+3=0)得到得到:x=1,3 y=1,-3/2 10/10MatlabMatlab实验实验实验实验(四)(四)(四)(四)fzero 函数函数(主要用于方程的数值解主要用于方程的数值解)命令格式为命令格式为x=fzero(fun,x0)或或x=fzero(fun,a,b)其中其中:fun为所求方程的函数(为所求方程的函数(fun既可以是既可以是x的字符的字符串,也可以是内嵌函数的名字或串,也可以是内嵌函数的名字或m文件的名字),文件的名字),x0为初始点,为初始点,a,b为使函数值变号的区间。为使函数值变号的区间。例例6.求方程求方程 的根,取初始点的根,取初始点x x0=1.50=1.5解:输入:解:输入:p=1,0,-1,-1;p=1,0,-1,-1;x1=roots(p)x1=roots(p)x2=solve(x3-x-1)x2=solve(x3-x-1)x3=fzero(x3-x-1,1.5)x3=fzero(x3-x-1,1.5)结果为:结果为:x1=1.3247 x1=1.3247 -0.6624+0.5623i -0.6624+0.5623i x2=(x2=(省略省略)x3=1.3247 x3=1.3247
限制150内