文档详情

第三章 数值数组与向量运算.ppt

发布:2017-06-24约1.27万字共61页下载文档
文本预览下载声明
MATLAB 第二章 数值数组及向量运算 matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位。 数值数组和数组运算是MATLAB的核心内容。 3.1 数值计算的特点和地位 数值计算适合现代计算机的运行特点,与符号计算相比,它计算速度快、容量大,能够处理各种复杂的函数关系。 3.1 数值计算的特点和地位 已知 ,求 。 A、用符号计算法解 syms t x ft=exp(-sin(t)) sx=int(ft,t,0,4) 出错:Warning: Explicit integral could not be found. 3.1 数值计算的特点和地位 B、用数值解法 dt=0.05; t=0:dt:4; Ft=exp(-sin(t)); Sx=dt*cumtrapz(Ft); Sx(end) plot(t,Ft,*r,MarkerSize,4) hold on plot(t,Sx,.k,MarkerSize,15) hold off xlabel(x) legend(Ft,Sx) ans = 3.0632 从上面的例子看出: 1、进行数值计算必须首先确定一组自变量采样点。 a、取值区间 b、采样间隔 2、执行数值计算的表达式都是在已知的数值点上进行的。 3、数值计算结果也是离散的。 3.2 数值数组的创建和寻访 3.2.1 一维数组的创建 A、递增/减型一维数组的创建 1、“冒号”生成法 Var=start:inc:end 说明: Var:为变量 start:起始值 Inc:步长 end: 终值的最大范围值 例:x=4:-1:-3.3 y=1:5 默认inc=1 2、线性(或对数)定点法 var=linspace(a,b,n) 线性 var=logspace(a,b,n) 对数 说明: a: 起始点 b:终点 n: 总采样点数 B、其它输入方法 3.2.2 二维数组的创建 A、小规模数组的直接输入 B、中规模数组的数组编辑器法 C、中规模数组的M文件创建法 D、利用MATLAB函数创建数组 3.2.3 二维数组元素的标识和寻访 例 A=zeros(2,6) A(:)=1:12 A(2,4) A(8) A(:,[1,3]) A([1,2,5,6]) A(:,4:end) A(2,1:2:5)=[-1,-3,-5] B=A([1,2,2,2],[1,3,5] ) L=A3 A(L)=NaN 3.2.4 数组操作技法综合 例 a=1:8 A=reshape(a,4,2) A=reshape(A,2,4) b=diag(A) B=diag(b) D1=repmat(B,2,4) D1([1,3],: )=[ ] A=reshape(1:9,3,3) B=flipud(A) C=fliplr(A) D=rot90(A,2) tril(A) triu(A) 3.3 数组运算 在数值计算实现的数学模型中,对离散数据进行处理的函数关系运算分为: 1、个别的,无规律的数据集合所执行函数关系运算 2、一组有规律数据需要反复执行的函数关系运算 3、一组有规律数据按照矩阵运算法则执行的运算 MATLAB针对三种不同类型的函数关系运算采取如下措施: 1、采用所谓的JIT加速器,提高FOR循环中标量函数关系运算的措施。 2、采用“数组运算”模式处理那些借助循环而反复执行的标量运算。 3、采用“向量或矩阵运算”模式去执行那些传统上靠多重循环标量运算完成的矩阵运算。 例 欧姆定律: ,其中 分别是电阻(欧姆)、电压(伏特)、电流(安培)。验证实验:据电阻两端施加的电压,测量电阻中流过的电流,然后据测得的电压、电流计算平均电阻值。(测得的电压电流具体数据见下列程序)。 例(非向量化运算) clear vr=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41]; ir=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345]; % -------------------- L=len
显示全部
相似文档