网站大量收购独家精品文档,联系QQ:2885784924

科学计算实践-3.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
科学计算实践 MatLab教程 李 波 libo@ynu.edu.cn 云南大学信息学院 第三章 数值数组及向量化运算 符号计算 对包含变量字符、参数字符和数字的表达式进行数学推理和运算,并给出符号计算结果; 精确的数学表示和推导,但很多问题难以求解,适应性不强。 数值计算 以计算机表达的有限精度数字为基本操作元素,只能用有限长度和精度的数据表示有限的时间和范围内的函数关系。 有限精度,计算速度快,容量大,能处理各种复杂的函数关系。 主要内容 数值计算的特点和定位 数值数组的创建和寻访 一维数组、二维数组的创建 一维数组、二维数组的寻访 数组运算 运算由来和规则 数组运算和向量化运算 “非数”和“空”数组 关系操作和逻辑操作 符号计算例子(例3.1-1) 【例3.1-1】已知 ,求 。 符号计算方法 syms t x; %定义符号变量 ft=t^2*cos(t); %定义符号积分函数 sx=int(ft,t,0,x) %符号积分 sx =x^2*sin(x)-2*sin(x)+2*x*cos(x) 符号计算可以得到和手工数学推导相同的结果; 可以得到精确的解析结果 数值计算方法 dt=0.05; %设定计算区域和采样间隔 t=0:dt:5; %数值计算只在有限区间进行,这里是[0,5] Ft=t.^2.*cos(t); %函数,在有限的自变量采样点计算数值 Sx=dt*cumtrapz(Ft); %计算从0开始到每个采样点位置的区间内,Ft曲线 %下的面积,此面积由宽度为t的小梯形面积累加而成; t(end-4:end) Sx(end-4:end) plot(t,Sx,.k,MarkerSize,12) xlabel(x),ylabel(Sx),grid on ans = 4.8000 4.8500 4.9000 4.9500 5.0000 ans = -20.1144 -19.9833 -19.7907 -19.5345 -19.2131 数值数组的创建和寻访 一维数组的创建 递增/减型一维数组的创建 通用型一维数组的创建 二维数组的创建 小规模数组的直接输入法 中规模数组的数组编辑器创建法 中规模数组的M文件创建法 利用MATLAB函数创建数组 一维数组创建 手工输入法 递增/递减数组输入法 指定随机分布数组生成函数 二维数组创建 小规模数组直接输入法 输入必须在[]以内; 同行的不同元素用逗号或者空格隔开; 不同行的元素用分号或者Enter隔开; a=2.7358; b=33/79; C=[1,2*a+i*b, b*sqrt(a); sin(pi/4),a+5*b,3.5+i] 中规模数组的数组编辑器创建法 中规模数组的M文件创建法 利用MATLAB函数创建数组 二维数组元素的标识和寻访 数组操作技法综合 ——对已经生成的数组的修改、扩展等,包括反转、插入、提取、收缩、重组等操作。 3.3 数组运算 数组运算的由来和规则 函数关系数值计算模型的分类 提高程序执行性能的三大措施 数组运算规则 数组运算符及数组运算函数 数组运算的向量化规则 函数关系数值计算模型的分类 对离散数据进行处理的函数关系归纳如下: 个别的无规律的数据集所执行函数关系运算 采用循环体外的标量的表达式运算 一组有规律数据需要反复执行的函数关系运算 一个包含标量表达式计算的循环体 一组有规律数据按照矩阵运算法则执行的运算 包含标量表达式计算的一重或者多重循环体 提高程序执行性能的三大措施 采用JIT-Accelerator,提高for循环中标量函数关系运算的效率。 采用数组运算模式处理那些借助循环而反复执行的标量运算——”向量化”运算 采用向量或矩阵运算模式去执行那些传统上靠多重循环标量运算完成的“矩阵运算” 数组运算规则 (1)两个同维大小的(m*n)数组A=[aij]m*n和B =[bij]m*n的运算结果为数组C=[cij]m*n,则 cij=aij#bij. (2)标量a与数组B=[bij]m*n进行算术运算的结果C=[cij]m*n,则 cij=a#bij. (3)函数f(.)的数组运算规则是“该函数对数组的每个元素依次起作用”。 X=[x

文档评论(0)

word.ppt文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档