配色: 字号:
Matlab_数组与绘图操作
2015-10-25 | 阅:  转:  |  分享 
  
第11周Matlab一、二维数组二、二维数组与绘图1、二维数组的输入方法10、与二维数组相关的函数练习二、二维数组与绘图例:
利用二维数组在同一坐标轴中同时绘制下列函数的图形:plot用二维数组绘图的细节补充:plot绘图的细节2、二维数组在3d绘图
中的应用(1)三维网格图:mesh,meshc,meshz(3)mesh和surf绘图的细节A、绘制四边形平面练习:
绘制一个立方体表面(共六个面)B、绘制三角形平面C、绘制五边形平面D、绘制圆形平面E、绘制圆(棱)柱、台、锥面mesh(
X,Y,Z,C)绘制由矩阵X,Y,Z所确定的曲面网格图,矩阵C用于确定网格颜色,省略时C=Zmeshc(X,Y,Z,
C)调用方式与mesh相同,在mesh基础上增加等高线meshz(X,Y,Z,C)调用方式与mesh相同,在m
esh基础上屏蔽边界面meshmeshcmeshz(2)三维表面图:surf,surfcsurf(X,Y,Z,C)
绘制由矩阵X,Y,Z所确定的曲面图,参数含义同meshsurfc(X,Y,Z,C)调用方式与surf
相同,在surf基础上增加等高线surfsurfc若不想在三维表面图中显示网格线,可将属性“edgecolor”设为“
none”surf(X,Y,Z,’edgecolor’,’none’)surfsurfc一、二维数组 二维数组
是由实数或复数排列成矩形而构成的,从数据结构上看,二维数组和矩阵没有什么区别。当二维数组带有线形变换含义时,该二维数组就是矩阵(m
atrix)。(1)在键盘上输入下列内容A=[1,2,3;4,5,6;7,8,9](2)按【Enter】键,指令
被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果:A=1234
56789说明:直接输入矩阵时,每行元素用空格或逗号分隔,矩阵行用分号分隔,整
个矩阵放在方括号里,标点符号一定要在英文状态下输入。2、由一维数组创建二维数组A=[1,3,5] B=[2,4,6]
C=[3,5,7]D=[A;B]E=[A;B;C]F=[A’,B’]G=[A’,B’,C’]3、由
函数创建二维数组生成魔方数组,各行、列之和=(1+2+……+n2)/nmagic(n)zeros(m,n)生成一个
m行n列的零矩阵,m=n时可简写为zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵,
m=n时可写为ones(n)eye(m,n)生成一个主对角线全为1的m行n列矩阵,m=n时可简写为
eye(n),即为n维单位矩阵diag(v,k)v是向量,diag(v)产生以v为第k条对角线的矩阵,默认k=
0rand(m,n)产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)randn(m,n)产生均值为0,
方差为1的标准正态分布随机矩阵m=n时简写为randn(n)diag(v,k)练习:在matlab中生成二维数组A=
0000000001
11111111B=1
00002000030
0004-40000-3
0000-20000-14、二维数组
操作函数A是矩阵,则diag(A,k)返回A的第k条对角线向量,默认k=0diag(A,k)cat(dim,A,B
)把“大小”相同的若干数组,沿“指定维”方向,串接成高维数组。行(dim=1)列(dim=2)flipud(A
)以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr(A)以数组“垂直中线”为对称轴,交换左右对称位置上的
数组元素kron(A,B)按Kronecker乘法规则(直积)产生“积”数组二维数组操作函数提取一个矩阵的下三角部分tr
il(A)提取一个矩阵的上三角部分triu(A)在总元素数不便的前提下,改变数组的“行数、列数”reshape(A,m,n
)repmat(A,m,n)按指定的“行数、列数”铺放模块数组,以形成更大的数组rot90(A,k)逆时针旋转k×90
度5、二维数组的转置运算A.’:转置A’:共轭转置6、两个维数相同的二维数组之间的数组运算A+B:加,对应位置的数
组元素相加A-B:减,对应位置的数组元素相减A.B:点乘,对应位置的数组元素相乘A./B:右点除,对应位置的数组元素相
除A.\B:左点除A.^B:点幂,对应位置的数组元素做幂运算7、二维数组的与标量的运算A+c:A的每个元素加cA
-c:A的每个元素减cA.c:点乘,A的每个元素乘cA./c:右点除,A的每个元素除cA.\c:左点除,c除A的
每个元素A.^c:点幂,A的每个元素做幂运算c.^A:点幂,c做幂运算8、函数作用在二维数组上的运算规则9、引用二维数
组的元素1、A(r,c):“全下标”标识: 即指出是“第几行,第几列”的元素 2、A(ind):“单下标”标识:Line
arIndex 只用一个下标来指明元素在数组中的位置: 把二维数组的所有列,按先左后右的次序,首尾相接排成“一维长列”,然后
,自上往下对元素位置进行标号。 3、“单下标”与“全下标”的转化:全下标→单下标: ind=sub2ind(siz,r,
c)单下标→全下标: [r,c]=ind2sub(siz,ind)二维数组的单个元素的引用和赋值X=magic(6)
单个元素寻访 X(2,3) X(5,5) X(16)单个元素的赋值 X(2,3)=0 X(5
,5)=7 X(16)=8二维数组的子数组的引用和赋值对子数组A(r,c)进行赋值:B的“行、列”必须与A(r
,c)的“行、列”相同A(r,c)=B由A的“r行”和“c列”上的元素组成A(r,c)A(r,:)由A的“r行”和“
全部列”上的元素组成A(:,c)由A的“全部行”和“c列”上的元素组成(1)使用“双下标”方式A(:)由A的各列按自左到
右的次序,首尾相接而生成的“一维长列”数组A(s)引用A中由一维数组s指定的元素。s若是行(或列),则A(s)就是长度相同的行
(或列)A(:)=D(:)全元素赋值方式。结果:保持A的“行宽、列长”不变。条件:A、D两个数组的总元素相等,但“行宽、列
长”不一定相同A(s)=B对A的部分元素重新赋值。结果:保持A的“行宽、列长”不变。条件:s单下标数组的长度必须与“一维数
组”B的长度相等,但是s、B不一定同是“行数组”或“列数组”(2)使用“单下标”方式“逻辑数组”寻访,生成“一维”列数组:由与
A同样大小的“逻辑数组”L中的“1元素”选出A的对应元素;按“单下标”次序排成长列组成A(L)(3)使用“逻辑数组”方式cm
ax=max(A)rmax=max(A,[],2)[cmax,index]=max(A)[rmax,ind
ex]=max(A,[],2)max(A,B)返回一个二维数组,元素为A,B相同位置上的较大值min(A),min(
A,[],2)[c,d]=min(A),[c,d]=min(A,[],2),min(A,B)返回cmax为一个行数组,元素
为A中每个列的最大值返回rmax为一个列数组,元素为A中每个行的最大值返回A中每个列的最大值及其位置,cmax,index为行
数组返回A中每个列的最大值及其位置,rmax,index为列数组返回A中每个列向量的标准差返回A中每个行向量的标准差std
(A)std(A,2)返回A中每个列向量的中值返回A中每个行向量的中值median(A)Median(A,2)返回A中
每个列向量的平均值返回A中每个行向量的平均值mean(A)mean(A,2)A中每个列向量的累乘积,维数与A相同A中每个
行向量的累乘积,维数与A相同cumprod(A)cumprod(A,2)计算A中每个列向量的元素的积计算A中每个行向量的元
素的积prod(A)prod(A,2)A中每个列向量的累加和,维数与A相同A中每个行向量的累加和,维数与A相同cumsu
m(A)cumsum(A,2)计算A中每个列向量的元素的和计算A中每个行向量的元素的和sum(A)sum(A,2)对A
中行向量进行升序排序sort(A,2)对A中列向量进行降序排序sort(A,’descend’)对A中行向量进行降
序排序sort(A,2,’descend’)对A中列向量进行升序排序sort(A)当有两输出参数时,size函数将数组
的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。[r,c]=size(A)返回数组A的行数r=size(A
,1)返回数组A的列数c=size(A,2)当只有一个输出参数时,size函数返回的是一个行向量,该行向量的第一个元素是
数组的行数,第二个元素是数组的列数。sz=size(A)返回数组元素的个数numel(A) 返回数组的长度(行数或列数的较
大值)length(A) plot(x,y)(1)若x,y都是二维数组, 将x的列和y中相应的列相组合,绘制多
条平面曲线。此时x,y必须具有相同的大小。1、二维数组在2d绘图中的应用你想要是下面的哪一种图形?怎样绘制出这两种图形?
例题:用plot函数动态演示利萨如图形的形成。t=……plot(x([1,2]),y([1,2]))holdon
axis([-1.1,1.1,-1.1,1.1])fork=2:length(t)-1 plot(x([k,k+1]),
y([k,k+1])) pause(0.1)endplot(x,y)(2)若x是一维数组,y是二维数组 当x
的长度与y的行数相等,则将x与y中的各列相对应,绘制多条平面曲线; 否则,若x的长度与y的列数相等,则将
x与y中的各行相对应,绘制多条平面曲线。线性代数中:列×行=矩阵x=linspace(0,2pi,50)y=cos(x)’(1:9)plot(x,y)例:利用plot函数的上述功能在同一坐标轴中同时绘制下列函数的图形:网格生成函数:meshgridx,y为给定的向量X,Y是网格划分后得到的网格矩阵绘制由函数z=z(x,y)确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值。若x=y,可简写为[X,Y]=meshgrid(x)[X,Y]=meshgrid(x,y)例:“墨西哥帽子”
献花(0)
+1
(本文系行者hydraul...首藏)