非数与数值微积分讲解.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲 非数与 数值微积分 1.1.1 “非数” MATLAB 规定,形如 都会产生非数(Not a Number),用NaN或nan 表示。 根据 IEEE 数学规范,NaN具有以下性质: 只要NaN 参加四则运算或函数作用于非数其结果也一定是非数,即具有传递性。 非数没有大小的概念,因此不能进行逻辑运算也不能比较两个非数的大小。 例1 非数的产生和性质演示。 a=0/0,b=0*log(0),c=inf/inf ,d=sqrt(NaN) Warning: Divide by zero. In D:\ZJJ\paper\ch23.m at line 62 a = NaN; b = NaN; c = NaN; d = NaN 1)非数的传递性 0*a,sin(a) ans = NaN ans = NaN 2)非数的不可比较性 a==nan % 非数不能比较 ans = 0 a~=nan % 非数不能进行逻辑运算 bc % 两个非数不能比较大小 ans = 1 ans = 0 3)非数的属性判断 class(a) % 数据类型归属 isnan(a) % 唯一正确判断非数的指令 ans = double ans = 1 7.1.2 “空”数组 当数组的某些维数为0时,称该数组为空数组。 在复杂的计算中有时会产生空数组,也可以利用空数组对其他数组进行赋值。 空数组与全零元素数组不是一回事 空数组确实是数组,用which、who、whos可以看出。 可以用命令 isempty 来判断一个数组是否为空数组。 本节完,谢谢!! * * * 本讲教学目标 掌握非数的概念和性质 掌握空数组的概念和创建方法 掌握数值微分、梯度和法线 掌握常见的数值积分方法 了解二重积分的方法 7.1 “非数”和“空数组” 在进行科学计算时经常遇到除零的现象,这时就会出现错误信息。 MATLAB中规定出现上述情况不出致命错误信息,仅在输出中进行警告并指出这是非数。 我们可以巧妙地利用非数对图形进行镂空、裁减等操作,从而得到很好的可视化效果。 从结果可知非数也是一个数,数据类型是双精度的。 例2 创建空数组。 A = rand(2,2,2); % 直接赋值法 A(:,:,:) = []; ndims(A) size(A) ans = 3 ans = 0 2 2 可看到 A 仍然是 3 维数组,但其中有一个维数是 0,则是空数组。 (2) 用函数创建空数组 A = ones(25,0,4); if A S1=是数组 else S0=是空数组 end S0 = 是空数组 例3 “空”数组的属性。 class(A) % 显示数据类别 isnumeric(A) % 是数值数组类吗 isempty(A) % 是否为空数组? size(A) ans =double ans = 1 ans = 1 ans = 25 0 4 从结果看,数组A 是一个双精度的空数组,具有维数25×0×4。 7.2 数值微积分 7.2.1 数值微分 在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其格式为: DX=diff(X):计算向量X的向前差分 DX(i)=X(i+1)-X(i),i=1,2,…,n-1。 DX=diff(X,n):计算X的n阶向前差分 diff(X,2)=diff(diff(X))。 DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(缺省),按列计算;dim=2,按行计算。 例4 对我国52~98年国民经济数据GDP发展趋势进行分析,求其一、二阶差分,并作图。 A=load(e:\data\gdp.txt) B=A(:,2) B1=diff(B); B2=diff(B,2) subplot(1,3,1),plot(B),title(发展趋势) subplot(1,3,2),plot(B1),title(发展速度) subplot(1,3,3),plot(B2),title(发展加速度) 差分方法应

文档评论(0)

风凰传奇 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档