ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:83KB ,
资源ID:6890696      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6890696.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二 数值数组创建、应用及可视化 答案.doc)为本站会员(hskm5268)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

实验二 数值数组创建、应用及可视化 答案.doc

1、实验二 数值数组创建、应用及可视化实验目的1掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别。2掌握标准数组生成函数和数组构造技法。3进一步熟悉M 脚本文件编写的方法和技巧。实验原理数值数组和数组运算MATALB 核心内容,是MATLAB 最重要的一种内建数据类型。通常,数组是由一组实数或复数排成的长方阵列(Array ),它可以是一维的“行”或“列”,可以是二维的“矩形”,也可是三维的若同维矩形的堆叠,甚至是更高的任意维。而数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地时实施同样的操作。这使得计算程序简单、易读,使

2、程序指令更接近教科书上的数学计算公式,并提高了程序的向量化程度,提高计算效率,节省计算机开销。一维数组的创建可采用逐个元素输入法,这是最简单,但又最通用的构造方法,如:x=2 pi/2 sqrt(3) 3+5i;另外有规律的产生数组可以采用冒号生成法,通用格式是x =a : inc : b,a 是数组的第一个元素,inc 是采样点之间的步长。若(b-a)是inc 的整数倍,则生成数组的最后一个元素是b,否则小于b。或者采用定数线性采样法,该法是在设定“总点数”下,均匀采样生成一维“行”数组。格式为x = linspace ( a , b , n ),a、b 分别是生成数组的第一个各最后一个元素

3、,n 是采样总点数,该指令生成(1n)数组。二维数组是由实数或复数排列成矩形而构成的。从数据结构上看,矩形和二维数组没有什么区别。当二维数组带有线性变换含义时,该二维数组就是矩阵。二维数组的创建也可采用直接输入法,或者利用构造M 文件创建和保存数组。除此以外,还可以采用MATLAB 提供的标准函数生成我们需要的数组,诸如zeros、ones、rand、eye、diag、magic 等,详请见附录。一维数组元素的寻访和标识采用X(index)方法,只是要注意MATLAB 中第一个元素下标index 是1,而不是C 语言中的0。二维数组元素的标识和寻访可分为“全下标”标识和“单下标”标识,“全下标

4、”标识,即指出是“第几行,第几列”的元素,如A(3,5)表示二维数组A 的第三行第五列元素。该标识法的优点是几何概念清楚,引述简单,在MATLAB 的寻址和赋值中最为常用。“单下标”标识,顾名思义就是只用一个下标来指明元素在数组中的位置,首先对二维数组的所有元素进行“一维编号”。“一维编号”是指:先设想把二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”,然后自上往下对元素未知进行编号,其优点是简洁、方便,特别是如果碰到对二维数组进行诸如for 循环操作时可以减少循环次数,提高编程效率。“全下标”标识和“单下标”标识可以通过sub2ind 和ind2sub注意:此题为本人自做,非标准

5、答案,仅供参考。指令进行转换,详见帮助。另外,不论二维数组还是一维数组还可以采用“逻辑1”标识,这种方法常用于寻找数组中所有大于或小于某值的元素的问题中。比如X(abs(X)3)可以找出数组X 中所有绝对值大于3 的元素。另外还可以借助ones, zeros, rand, randn 和cat,repmat, reshape 等函数直接或间接构作高维数组,详见附录或MATLAB 帮助。Matlab 中的许多函数可以直接对任意维的数组直接运算,相当于对数组中的每个元素分别进行运算。比如Y=sin(X)可以直接得到与数组X 中每一个元素相对应的的正弦值,这大大简化了编程。可以执行数组运算的常用函数

6、已经列表于附录中,以供参考。但值得注意的是,虽然从外观形状和数据结构上看,二维数组和(数学中的)矩阵)没有区别,但矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。为了区别数组和矩阵运算,在易混淆的地方,数组运算在运算符前加一小黑点“.”以示区别,比如Y=A.*B,代表的示数组A 和数组B 对应元素相乘,而Y=A*B,则表示内维相同的矩阵A 和B 的乘积。由此也可看出,在执行数组与数组的运算时,参与运算的数组必须同维,运算所得结果也总与原数组同维。本节只涉及数组可视化方法

7、的简单实现。通常,对于离散数据可采用stem 命令或者使用plot 绘点的方法,而对于连续函数可直接采用plot 指令来实现。实验内容一数组的创建和寻访1一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释,不用输入。rand(state,0) %把均匀分布伪随机发生器置为0 状态rand(state,0) x=rand(1,5) %产生(1 5) 的均布随机数组x=rand(1,5) x =0.0579 0.3529 0.8132 0.0099 0.1389 x(3) %寻访数组x 的第三个元素。a=x(3) a =0.8132 x(1 2 5) %寻访数组

8、x 的第一、二、五个元素组成的子数组。b=x(1 2 5) b =0.0579 0.3529 0.1389 x(1:3) %寻访前三个元素组成的子数组c=x(1:3) c =0.0579 0.3529 0.8132 x(3:end) %寻访除前2 个元素外的全部其他元素。end 是最后一个元素的下标。d=x(3:end) d =0.8132 0.0099 0.1389 x(3:-1:1) %由前三个元素倒排构成的子数组f=x(3:-1:1) f =0.8132 0.3529 0.0579 x(find(x0.5) %由大于0.5 的元素构成的子数组g=x(find(x0.5) g =0.813

9、2 x(1 2 3 4 4 3 2 1) %对元素可以重复寻访,使所得数组长度允许大于原数组。h=x(1 2 3 4 4 3 2 1) h =Columns 1 through 60.0579 0.3529 0.8132 0.0099 0.0099 0.8132Columns 7 through 80.3529 0.0579 x(3) = 0 %把上例中的第三个元素重新赋值为0x(3) = 0 x =0.0579 0.3529 0 0.0099 0.1389 x(1 4)=1 1 %把当前x 数组的第一、四个元素都赋值为1x(1 4)=1 1 x =1.0000 0.3529 0 1.0000

10、 0.1389 %空数组的赋值操作a= a = 2二维数组(1)在命令窗口执行下面指令,观察输出结果a=2.7358; b=33/79; %这两条指令分别给变量 a ,b 赋值。C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i %这指令用于创建二维数%组CM_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16 %创建复数数组的另一种方法CN=M_r+i*M_i %由实部、虚部数组构成复数数组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_r=1,2,3;4,

11、5,6,M_i=11,12,13;14,15,16 CN=M_r+i*M_i C =1.0000 5.4716 + 0.4177i 0.6909 0.7071 4.8244 3.5000 + 1.0000iM_r =1 2 34 5 6M_i =11 12 1314 15 16CN =1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i (2)利用M 文件创建和保存下面的数组(分号后面是一个空格后加3 个小数点,表示换行续写)AM=101,102,

12、103,104,105,106,107,108,109;.201,202,203,204,205,206,207,208,209;.301,302,303,304,305,306,307,308,309;AM=101,102,103,104,105,106,107,108,109;.201,202,203,204,205,206,207,208,209;.301,302,303,304,305,306,307,308,309; (3)仿照问题1 中方法找出数组 A 中所有绝对值大于3 的5134204A元素。A=-4,-2,0,2,4;-3,-1,1,3,5;B=A(find(A3)C=A(f

13、ind(A0.5);C=2*B-1;首先预测(C*C)/100 的运行结果,然后再在机器上验证。(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。)rand(state,11)A=rand(3,10000);B=(A0.5);C=2*B-1;(C*C)/100 ans =100.0000 0.8600 -0.48000.8600 100.0000 -0.1800-0.4800 -0.1800 100.0000 (6)在命令窗口执行下面指令,体味数组运算与矩阵运算的区别clear;A=zeros(2,3);A(:)=1:6; %全元素赋值法A=A*(1+i) %运用标量与数组乘产生

14、复数矩阵A_A=A. %数组转置,即非共轭转置,其中单引号实现转置功能A_M=A %矩阵转置,即共轭转置clear;A=zeros(2,3);A(:)=1:6; %全元素赋值法A=A*(1+i) %运用标量与数组乘产生复数矩阵A_A=A. %数组转置,即非共轭转置,其中单引号实现转置功能A_M=A %矩阵转 置,即共轭转置 A =1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000iA_A =1.0000 + 1.0000i 2.0000 + 2.0

15、000i3.0000 + 3.0000i 4.0000 + 4.0000i5.0000 + 5.0000i 6.0000 + 6.0000iA_M =1.0000 - 1.0000i 2.0000 - 2.0000i3.0000 - 3.0000i 4.0000 - 4.0000i5.0000 - 5.0000i 6.0000 - 6.0000i 二编写如图所示波形的MATLAB 脚本文件,图中虚线为正弦波,要求它分别在 及 处削顶。21图1可能用到的额外指令: find、hold on、hold off、 legend,具体使用方法使用help指令名来解答。clc; clear all; c

16、lose all;t = linspace(0, 3*pi);y = sin(t);figure; hold on; box on;plot(t, y, k:);y(find(ysqrt(2)/2) = sqrt(2)/2;plot(t, y, b-);ylabel(z=f(t)xlabel(t)legend(char(y = sin(t),char(z=f(t),location,southeast);hold off;axis(0,10,-1,1)axis square 0 2 4 6 8 10-1-0.8-0.6-0.4-0.200.20.40.60.81z=f(t)ty = sin(t)z=f(t)

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报