电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

ch3数值数组及向量化运算VIP免费

ch3数值数组及向量化运算_第1页
1/10
ch3数值数组及向量化运算_第2页
2/10
ch3数值数组及向量化运算_第3页
3/10
第3章数值数组及向量化运算MATLAB的核心内容:数值数组和数组运算3.1数值计算的特点和地位符号计算的局限性:有很多问题1)无法解,2)求解时间过长数值计算:适用范围广,能处理各种复杂的函数关系,计算速度快,容量大。【例3.1-1】已知tttfcos)(2,求dttfxsx0)()(。(1)符号计算解法symstxft=t^2*cos(t)sx=int(ft,t,0,x)ezplot(sx,0,5)holdon(2)数值计算解法dt=0.05;t=0:dt:5;Ft=t.^2.*cos(t);Sx=dt*cumtrapz(Ft);%小梯形面积的累加求Ft曲线下的面积,由一个个宽度为dt的小梯形面积累加得到的t(end-4:end)%end指示最后一个元素的位置Sx(end-4:end)plot(t,Sx,'.k','MarkerSize',12)xlabel('x'),ylabel('Sx'),gridon图3.1-1在区间[0,5]采样点上算得的定积分值【例3.1-2】已知)sin()(tetf,求40)()(dttfxs。(1)符号计算解法无解symstxft=exp(-sin(t))sx=int(ft,t,0,4)(2)数值计算解法dt=0.05;t=0:dt:4;Ft=exp(-sin(t));Sx=dt*cumtrapz(Ft);Sx(end)plot(t,Ft,'*r','MarkerSize',4)holdonplot(t,Sx,'.k','MarkerSize',15)holdoffxlabel('x')legend('Ft','Sx')3.2数值数组的创建和寻访3.2.1一维数组的创建x=[1,3,5,7,9]逐个元素输入法x=a:inc:b步长生成法,inc缺省时步长为1x=linspace(a,b,n)线性采样法,以a,b为左右端点,产生1*n行数组x=logspace(a,b,n)对数采样法,以a,b为左右端点,产生1*n行数组运用diag,eye等标准数组生成函数。【例3.2-1】一维数组的常用创建方法举例。a1=1:6a2=0:pi/4:pia3=1:-0.1:0b1=linspace(0,pi,4)b2=logspace(0,3,4)%创建数组[100101102103]c1=[2pi/2sqrt(3)3+5i]3.2.2二维数组的创建一小规模数组的直接输入法【例3.2-2】在MATLAB环境下,用下面三条指令创建二维数组C。a=2.7358;b=33/79;C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]三个要素:整个输入数组“[]”行与行间“;”或“Enter”同行中元素间“,”或“空格”二中规模数组的数组编辑器创建法【例3.2-3】根据现有数据创建一个)83(的数组。图3.2-1利用数组编辑器创建中规模数组三中规模数组的M文件创建法【例3.2-4】创建和保存数组AM的MyMatrix.m文件。(1)打开文件编辑调试器,并在空白填写框中输入所需数组(见图3.2-2)。(2)最好,在文件的首行,编写文件名和简短说明,以便查阅(见图3.2-2)。(3)保存此文件,并且文件起名为MyMatrix.m。(4)以后只要在MATLAB指令窗中,运行MyMatrix.m文件,数组AM就会自动生成于MATLAB内存中。图3.2-2利用M文件创建数组四利用MATLAB函数创建数组【例3.2-5】利用最常用标准数组生成函数产生标准数组的演示。ones(2,4)%产生(2×4)全1数组randn('state',0)%把正态随机数发生器置0randn(2,3)%产生正态随机阵D=eye(3)%产生3×3的单位阵diag(D)%取D阵的对角元diag(diag(D))%外diag利用一维数组生成对角阵randsrc(3,20,[-3,-1,1,3],1)%在[-3,-1,1,3]上产生3×20均布随机数组,随机发生器的状态设置为13.2.3二维数组元素的标识和寻访【例3.2-6】本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。A=zeros(2,6)A(:)=1:12%单下标法:单下标全元素寻访A(2,4)%全下标法:指定行、指定列A(8)%单下标法:单下标寻访A(:,[1,3])%全下标法:全部行、指定列A([1,2,5,6])%单下标法:生成指定的一维行(或列)数组A(:,4:end)%全下标法:全部行、指定列,end表示最后一列。A(2,1:2:5)=[-1,-3,-5]%全下标法:指定行、指定列B=A([1,2,2,2],[1,3,5])%全下标法:指定行、指定列3.2.4数组操作技法综合【例3.2-7】数组操作函数reshape,diag,repmat的用法;空阵[]删除子数组的用法。a=1:8A=reshape(a,4,2)A=reshape(A,2,4)%改变行数和列数b=diag(A)%提取对角元素,。B=diag(b)%生成对角阵D1=repmat(B,2,4)%排列B模块repmat(A,m,n)createsalargematrixBconsistingofanm-by-ntilingofcopiesofA.D1([1,3],:)=[]%删除指定行【例3.2-8】函数flipud,fliplr,rot90对数组的操作体现着“矩阵变换”。A=reshape(1:9,3,3)B=flipud(A)%上下对称交换C=fliplr(A)%左右对称交换D=rot90(A,2)%逆时针旋转90度,2次3.3数组运算MATLAB面向数组/矩阵编程和运算:用“...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

ch3数值数组及向量化运算

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部