《非数与数值微积分》PPT课件

《非数与数值微积分》PPT课件

ID:39740723

大小:243.60 KB

页数:25页

时间:2019-07-10

《非数与数值微积分》PPT课件_第1页
《非数与数值微积分》PPT课件_第2页
《非数与数值微积分》PPT课件_第3页
《非数与数值微积分》PPT课件_第4页
《非数与数值微积分》PPT课件_第5页
资源描述:

《《非数与数值微积分》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七讲非数与 数值微积分本讲教学目标掌握非数的概念和性质掌握空数组的概念和创建方法掌握数值微分、梯度和法线掌握常见的数值积分方法了解二重积分的方法7.1“非数”和“空数组”在进行科学计算时经常遇到除零的现象,这时就会出现错误信息。MATLAB中规定出现上述情况不出致命错误信息,仅在输出中进行警告并指出这是非数。我们可以巧妙地利用非数对图形进行镂空、裁减等操作,从而得到很好的可视化效果。1.1.1“非数”MATLAB规定,形如都会产生非数(NotaNumber),用NaN或nan表示。根据IEEE数学规范,NaN具有以下性质:只要NaN参加四则运算或函数作用于非数其结果也一定是非数,即具有传递性

2、。非数没有大小的概念,因此不能进行逻辑运算也不能比较两个非数的大小。例1非数的产生和性质演示。>>a=0/0,b=0*log(0),c=inf/inf,d=sqrt(NaN)Warning:Dividebyzero.InD:ZJJpaperch23.matline62a=NaN;b=NaN;c=NaN;d=NaN1)非数的传递性>>0*a,sin(a)ans=NaNans=NaN2)非数的不可比较性>>a==nan%非数不能比较ans=0>>a~=nan%非数不能进行逻辑运算>>b>c%两个非数不能比较大小ans=1ans=03)非数的属性判断>>class(a)%数据类型归属>>isn

3、an(a)%唯一正确判断非数的指令ans=doubleans=1从结果可知非数也是一个数,数据类型是双精度的。7.1.2“空”数组当数组的某些维数为0时,称该数组为空数组。在复杂的计算中有时会产生空数组,也可以利用空数组对其他数组进行赋值。空数组与全零元素数组不是一回事空数组确实是数组,用which、who、whos可以看出。可以用命令isempty来判断一个数组是否为空数组。例2创建空数组。>>A=rand(2,2,2);%直接赋值法>>A(:,:,:)=[];>>ndims(A)>>size(A)ans=3ans=022可看到A仍然是3维数组,但其中有一个维数是0,则是空数组。(2)用函数

4、创建空数组>>A=ones(25,0,4);>>ifAS1='是数组'>>elseS0='是空数组'>>endS0=是空数组例3“空”数组的属性。>>class(A)%显示数据类别>>isnumeric(A)%是数值数组类吗>>isempty(A)%是否为空数组?>>size(A)ans=doubleans=1ans=1ans=2504从结果看,数组A是一个双精度的空数组,具有维数25×0×4。7.2数值微积分7.2.1数值微分在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其格式为:DX=diff(X):计算向量X的向前差分DX(i)=X(i+1)-X(i),

5、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:datagdp.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('发展速度')>>s

6、ubplot(1,3,3),plot(B2),title('发展加速度')差分方法应用十分广泛,如在经济数据中一阶差分表示发展速度,二阶差分表示经济发展的加速度。7.2.2梯度在MATLAB中,使用gradient函数求解近似梯度,其格式为:[fx,fy]=gradient(f)——返回矩阵f的数值梯度,fx相当于df/dx,即在x方向(列)的差分值。[fx,fy]=gradient(f,h)——求二元函数的梯度,使用数量h作为各个方向的间隔点。[fx,fy,fz,…]=gradient(f,h1,h2,…)——做相似工作。例5对函数作梯度图。>>v=-2:0.2:2;[x,y]=meshgr

7、id(v);>>z=x.*exp(-(x.^2+y.^2));>>subplot(1,2,1);surf(x,y,z),>>subplot(1,2,2);[px,py]=gradient(z,.2,.2);>>contour(x,y,z),holdon,quiver(x,y,px,py)7.2.3法线计算与绘制法线的命令为:[NX,NY,NZ]=surfnorm(X,Y,Z)方向法线绘图命令的基本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。