- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
导数及偏导数的计算 实 验 目 的 1.进一步理解导数概念及其几何意义. 2.学习Matlab的求导命令与求导法. 实 验 内 容 1.学习matlab命令. 建立符号变量命令sym和syms等的调用 格式: x=sym(‘x’), 建立符号变量x; syms x y z , 建立多个符号变量x,y,z; Matlab符号工具箱简介 Matlab系统本无符号运算功能,符号运算工具箱(Symbolic Math Toolbox)则扩充了Matlab这方面的功能。 这个工具箱在Matlab安装的Toolbox/Symbolic子文件夹下。 符号变量与符号表达式 新的数据类型----符号变量 1. 用sym函数来定义一个符号或符号表达式 sym函数用来建立单个符号量,例如,a=sym(‘a’)建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。 2. syms函数定义多个符号 syms函数的一般调用格式为: syms var1 var2 … varn 函数定义符号变量var1,var2,…,varn等。用这种格式定义符号变量时不要在变量名上加字符分界符(‘’),变量间用空格而不要用逗号分隔。 3.用findsym来确认符号表达式中的符号 例: 4. 表达式化简 Matlab提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简。 simple(S) 调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。 例1 .(1)执行下面命令: f=sym(‘cos(x)^2-sin(x)^2’); f=simple(f) 执行结果为: f=cos(2*x) (2)执行下面命令: g=sym(‘x^3+3*x^2+3*x+1’); g=simple(g) 执行结果为: g=(x+1)^3 例2 验证三角公式:sin(x-y)=sinxcosy- cosxsiny. 解:输入命令: syms x y; f=simple(sin(x)*cos(y)- cos(x)*sin(y)) 执行结果为: f=sin(x-y) 例4 求符号矩阵的逆、行列式及特征值和特征向 量。 解:输入命令 syms a b c d A=[a,b;c,d]; njz=inv(A) hls=det(A) [tzxl,tzz]=eig(A); tzxl’ diag(tzz) 执行结果: 求导数和偏导数 matlab求导命令diff调用格式: diff(函数 f(x)),求 f(x) 的一阶导数 f’(x) ; diff(函数 f(x), n), 求 f(x) 的n阶导数 f(n)(x)(n 是具体整数); diff(函数 f(x,y),变量名 x),求 f(x,y) 对x的偏导 数 ; diff(函数 f(x,y),变量名 x,n),求 f(x,y) 对x的n阶 偏导数 jacobian([函数 f(x,y,z);函数 g(x,y,z); 函数 g(x,y,z)], [x,y,z])给出矩阵: 2.导数概念. 导数是函数的变化率,几何意义是曲线在 一点处的切线斜率. 点导数是一个极限值. 例3.1 设 f(x)=ex,用定义计算f’(0). 解: f(x)在某一点的导数定义为极限: 我们记 h=△x,输入命令: syms h; limit((exp(0+h)-exp(0))/h,h,0) 得结果: ans=1. 可知 f’(0)=1. 导数的几何意义是曲线的切线斜率. 例3.2 画出 f(x)=ex 在 x=0 处(P(0,1))的切线及若 干条割线,观察割线的变化趋势. 解: 在曲线 y=ex上另取一点M (h, eh),则PM的方程 则h=3,2,1,0.1,0.01分别作出几条割线. h=[3,2,1,0.1,0.01]; a=(exp(h)-1)./h; x=-1:0.1:3; plot(x,exp(x),’r’); hold on for i=1:5; plot(h(i),exp(h(i)),’r.’) plot(x,a(i)*x+1) end axis square 作出 y=ex 在x=0 处的切线 y=x+1
文档评论(0)