云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Matlab 入门教程

Matlab 入门教程

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 2:49:56

关于结构数组有如下函数: 函数名 作用

struct 生成和转换为结构数组

fieldnames 查询结构数组的属性名 getfield 查询结构数组的属性值 setfield 设置结构数组的属性值 rmfield 删除属性

-295-

isfield 检查是否为数组的属性 isstruct 检查数组是否为结构型 ⑧ 细胞数组

细胞数组也是MATLAB 里的一类特殊的数组。在MATLAB 里,由于有细胞数组这个数 据类型,才能把不同类型、不同维数的数组组成为一个数组。

细胞数组的每一个元素可为类型不同、维数不同的矩阵、向量、标量或多维数组, 所有元素用大括号括起来。如矩阵A=[1 2 3 4;2 3 4 5;3 4 5 6],则命令 c={A,sum(A),sum(sum(A))} 得到一个1× 3的细胞数组。 关于细胞数组有如下函数: 函数名 作用

celldisp 显示细胞数组的内容 cell 生成细胞数组

cellplot 用图形方式显示细胞数组 num2cell 把数值型转换为细胞型 deal 输入和输出的匹配

cell2struct 把细胞数组转换为结构数组 struct2cell 把结构数组转换为细胞数组

iscell 检验数组是否为细胞型 i)细胞数组的生成

有两种方法可以生成细胞数组:用赋值语句直接生成;先用cell 函数预分配数组, 然后再对每个元素赋值。

有两种方法可对元素赋值:一种方法采用数组元素的下标赋值。下面四句命令将建 立一个2× 2的细胞数组。 A(1,1)={[1:5;6:10]}; A(1,2)={'Anne cat'}; A(2,1)={3+7i};

A(2,2)={0:pi/10:pi};

在大括号中,逗号或者空格表示每行元素之间的分割,分号表示不同行之间的分割。 另一种方法则把细胞数组的元素用大括号括起来,而所赋的值采用其它数组的形 式。例如下面四句生成的细胞数组和上面所生成的完全一样。 A{1,1}=[1:5;6:10]; A{1,2}='Anne cat'; A{2,1}=3+7i;

A{2,2}=0:pi/10:pi; 命令

B=cell(3,4)

创建一个3× 4的细胞矩阵。

ii)细胞数组内容的查看

对于上面建立的数组A,在Matlab 命令窗口键入变量名A,将显示数组的简要信息。 函数celldisp 用来显示细胞数组的每个元素的值。函数cellplot 将画出细胞数组 的每个元素的结构图。

当给已经定义的细胞数组下标范围外的元素赋值时,Matlab 自动扩维,对于没有

-296-

赋值的元素,赋值为空矩阵。

7. 数学运算与函数

① 基本代数运算操作 +,-,*,\\,/,^,

② 矩阵运算函数:求行列式(det),矩阵求逆(inv),求秩(rank),求迹(trace), 求模(norm),d=eig(A)求矩阵A 的特征值,[v,d]=eig(A)求矩阵A 的特征向量和特征 值,这里v 的列向量是对应的特征向量。 矩阵基本运算:

A\\B, B/A, A.*B, A./B, A.\\B, A.^B。

③ 基本数学函数

常用的数学函数有sin,cos,tan,abs,min,sqrt,log,log10,sign,asin, acos,atan,max,sum,exp,fix 等。具体使用方法请参看帮助help。

常用的矩阵函数有expm,logm,sqrtm 和funm,funm 函数可计算任何一个基本数 学函数的矩阵函数。它可以表示为 fa=funm(a,'fun')

式中,fun 可以是任意一个基本函数,如sin,cos,log10 等。 ④ 多项式

任意多项式都可以用一个行向量来表示, 即n 维的向量a 表示多项式

y(x) = a(1)xn?1 + a(2)xn?2 + + a(n ?1)x + a(n) L ,反过来,任意一个向量就可以作

为多项式。 例如:

p=[1 –6 11 -6]; poly2sym(p,’x’) ans =

x^3-6*x^2+11*x-6

求s3 + 2s2 + 3s + 4的根可用如下命令。 A=[1 2 3 4];roots(A) i) poly 函数

p=poly(A),A 是一个n × n的矩阵时,此函数返回矩阵A 的特征多项式p,p是n +1 维向量;A 是向量时,此函数返回以向量中的元素为根的多项式。 ii) 多项式的数组运算

y=polyval(p,x) 计算多项式在x 处的值,x 可以是矩阵或向量,此时函数计算多

项式在x 的每个元素处的值。

iii) 多项式的矩阵运算

y=polyvalm(p,x) 相当于用矩阵x 代替多项式的变量来对矩阵而不是对数组进行 运算,x 必须是方阵。例如:

? ?? ? ? ?? ? = 3 4 1 2

A , p(A) = A2 + 3A + 2I

可采用如下的命令进行计算 p=[1 3 2];

a=[1 2; 3 4]; polyvalm(p,a)

iv) 多项式的乘法和除法运算

w=conv(u,v) 此函数求多项式u 和v 的乘积,即求向量u 和v 的卷积。如果 m=length(u),n=length(v),则w 的长度为m+n-1。

-297-

[q,r]=deconv(u,v) 此函数表示多项式u 除以多项式v 得到商多项式q 和余数多项 式r,如果r 的元素全部为零,则表示多项式v 可以整除多项式u。 8. 绘图命令

① 二维图形

二维绘图的基本命令有plot,loglog,semilogx,semilogy 和polar。它们的使 用方法基本相同,其不同特点是在不同的坐标中绘制图形。plot 命令使用线性坐标空 间绘制图形;loglog 命令在两个对数坐标空间中绘制图形;而semilogx(或semilogy) 命令使用x 轴(或y 轴)为对数刻度,另外一个轴为线性刻度的坐标空间绘制图形;polar 使用极坐标空间绘制图形。

二维绘图命令plot 为了适应各种绘图需要,提供了用于控制线色、数据点和线型 的3 组基本参数。它的使用格式如下: plot(x,y,’color_point_linestyle’)

该命令是绘制y 对应x 的轨迹的命令。y 与x 均为向量,且具有相同的元素个数。

用字符串‘color_point_linestyle’完成对上面3 个参数的设置。线色(r-red,g-green, b-blue,w-white,k-black,i-invisible,y-yellow),数据点(.,o,x,+,*,S, H,D,V,^,>,<,p)与线型(-,-.,--,:)都可以根据需要适当选择。 当plot(x,y)中的x 和y均为m× n矩阵时,plot 命令将绘得n条曲线。 plot(t,[x1,x2,x3])在同一坐标轴内同时绘制三条曲线。

如果多重曲线对应不同的向量绘制,可使用命令 plot(t1,x1,t2,x2,t3,x3)

式中x1 对应t1,x2 对应t2 等等。在这种情况下,t1,t2 和t3 可以具有不同的元

素个数,但要求x1,,x2 和x3 必须分别与t1,t2 和t3 具有相同的元素数量。

subplot 命令使得在一个屏幕上可以分开显示n 个不同坐标系,且可分别在每一个 坐标系中绘制曲线。其命令格式如下: subplot(r,c,p)

该命令将屏幕分成r*c,而p 表示在第几个窗口。窗口的排号是从左到右,自上而下。 在图形绘制完毕后,执行如下命令可以再在图中加入题目、标号、说明和分格线等。 这些命令有title,xlabel,ylabel,text,gtext 等。它们的命令格式如下: title(‘My Title’),xlabel(‘My X-axis Label’),ylabel(‘My Y-axis Label’),

text(x,y,'Text for annotation'),gtext('Text for annotation'), grid

gtext命令是使用鼠标器定位的文字注释命令。当输入命令后,可以在屏幕上得到 一个光标,然后使用鼠标器控制它的位置。按鼠标器的左键,即可确定文字设定的位置。 hold on 是图形保持命令,可以把当前图形保持在屏幕上不变,同时在这个坐标

系内绘制另外一个图形。hold 命令是一个交替转换命令,即执行一次,转变一个状态 (相当于hold on、hold off)。

Matlab可以自动选择坐标轴的定标尺度,也可以使用axis命令定义坐标轴的特殊 定标尺度。其命令格式如下:

axis([x-min,x-max,y-min,y-max])

axis 命令的另一个作用是控制纵横尺度的比例。例如,输入axis(‘square’)后,可得 到一个显示方框,此时再在该框内绘制一个圆形时(如:plot(sin(x),cos(x)),在屏 幕上可以看到一个圆(一般情况下,由于屏幕的不规则原因,只能看到一个椭圆)。再 次输入axis(‘normal’)命令,屏幕返回到一般状态。 例

x=0:0.25:5;

-298-

y1=x.^0.1; y2=x.^0.5; y3=x.^0.8; y4=x.^1.5;

t=0:0.001:2*pi;

hold on

plot(3*cos(t),3*sin(t)) plot(x,y1,'bo',x,y2,'rH-') plot(x,y3,'gp--')

plot(x,y4,'mx-.')

title('My Title'),xlabel('My X-axis Label'),ylabel('My Y-axis Label')

text(2,8,'Text for annotation') gtext('Text for annotation'),grid 结果如图所示:

-3 -2 -1 0 1 2 3 4 5 -4 -2 0 2

搜索更多关于: Matlab 入门教程 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

关于结构数组有如下函数: 函数名 作用 struct 生成和转换为结构数组 fieldnames 查询结构数组的属性名 getfield 查询结构数组的属性值 setfield 设置结构数组的属性值 rmfield 删除属性 -295- isfield 检查是否为数组的属性 isstruct 检查数组是否为结构型 ⑧ 细胞数组 细胞数组也是MATLAB 里的一类特殊的数组。在MATLAB 里,由于有细胞数组这个数 据类型,才能把不同类型、不同维数的数组组成为一个数组。 细胞数组的每一个元素可为类型不同、维数不同的矩阵、向量、标量或多维数组, 所有元素用大括号括起来。如矩阵A=[1 2 3 4;2 3 4 5;3 4 5 6],则命令 c={A,sum(A),sum(sum(A))} 得到一个1× 3的

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com