MATLAB一些重要函数与符号用法总结(冒号,取整函数,Cell用法)_matlab中冒号的用法

2020-02-27 其他工作总结 下载本文

MATLAB一些重要函数与符号用法总结(冒号,取整函数,Cell用法)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab中冒号的用法”。

冒 号

1)a:b 表示[a,a+1,……,b]

1.>> A=1:5 2.A = 3.1 2 3 4 5 2)如果b-a不是整数的话,则向量的最后一位数是n+a,且n=fix(b-a)1.>> A=1.2:4.9 2.A = 3.1.2000 2.2000 3.2000 4.2000 3)上面的前提是ab则会出现空值 1.>> A=5:1 2.A = 3.Empty matrix: 1-by-0 此时 A是空矩阵,看workspace也可以看到A 4)a:c:b表示[a,a+c,……,a+n*c],其中n=fix((b-a)/c)1.>> A=1:3:11 2.A = 3.1 4 7 10 5)a:c:b在以下情况为空值 c>0,且ab 1.>> A=11:3:1 2.A = 3.Empty matrix: 1-by-0 6)A(:)表示以一列的方式显示A中所有元素 1.>> A=[1 2 3;4 5 6] 2.A = 3.1 2 3 4.4 5 6 5.>> A(:)6.ans = 7.1 8.4 9.2 10.5 11.3 12.6 7)b=A(i, :)表示把矩阵A的第i行存入b 1.>> b=A(1,:)2.b = 3.1 2 3 8)b=A(:,j)表示把矩阵A的第j列存入b 1.>> b=A(:,1)2.b = 3.1 4.4 9)b=A(J :K)表示把矩阵A中[A(J),A(J+1),...,A(K)]这些元素存入b中 1.>> b=A(3:5)2.b = 3.2 5 3 10)b=A(:,c:d)表示把矩阵A的第c到第d列存入b中,当然c,d大于A的列数则出错(b=A(c:d,:)表示取行)1.>> A=[1 2 3;4 5 6;7 8 9] 2.A = 3.1 2 3 4.4 5 6 5.7 8 9 6.>> b=A(:,2:3)7.b = 8.2 3 9.5 6 10.8 9 11)当需要 10 9 8 7 6 5 4 3 2 1这样的数时,用A=[10:1]会产生空矩阵,可用下面的方法: >> A=[10:-1:1] A = 10 9 8 7 6 5 4 3 2 1 当矩阵很大时,不知道矩阵的维数,可以用end >> A=[1 2 3;4 5 6;7 8 9] A =

4 5 6 7 8 9

>> b=A(:,2:end)b = 2 3 5 6 8 9 当我们需要 A矩阵第右上角的数时,即 2 3 5 6 这时用‘ :’很难实现

可以用end和冒号一起来实现 >> b=A(1:2,2:end)b =

5 6

取整函数

MATLAB 的取整函数有: fix(x),floor(x),ceil(x),round(x)

(1)fix(x): 截尾取整 >> fix([3.12-3.12])ans = 3-3

(2)floor(x):不超过 x 的最大整数.(高斯取整)>> floor([3.12-3.12])ans = 3-4

(3)ceil(x): 大于 x 的最小整数 >> ceil([3.12-3.12])ans = 4-3

(4)四舍五入取整 >> round([3.12-3.12])ans = 3-3

Cell用法

Matlab里面元包(Cell)的概念,其元包就是一个类似矩阵的东西,但是它的特点就是矩阵的每一项可以放任何的元素,比如: >> MyCell MyCell = Columns 1 through 2 [16x16 double] 'i am a string' Column 3 [1x1 struct] MyCell的第一项是一个16x16的矩阵,第二项是一个字符串,第三项是个结构体。

Cell的使用其实也很简单,和矩阵的用法备尝的类似,不同的矩阵采用()作为访问的表示,如a(1)=10;但是元包是采用花括号的,如MyCell{1}=zeros(16,16),当然元包也可以有矩阵的形式MyCell{i,j}(其实元包也可以可用MyCell(i,j),但是从字面上看不出和一般的矩阵有任何的区别,我个人还是建议使用花括号)。

再回到开头的问题,那么就用一个1 x N的元包组来记录这些数据,每个元包就放置一个矩阵即可。

首先要要创建一个元包用来存放数据,这里有两种方法(1)DataCell = Cell(1,N);(2)DataCell{N} = [];这两种方法的效果是一样产生了一个1*N的元包,没有元素都是空的。使用的时候也很简单 DataCell{1} = DataArray。其中DataArray就是要存储的某一行数据。

要访问某行数据也很简单 DataCell{2}(7)就是表示第2个元包的数组的第7个元素。

此外元包还有自己的可视化工具,celldisp()和cellplot()分别用作显示元包的内容和画出元包。

a=cell(n,m)那么就把a初始化为一个n行m列的空cell类型数据。如何赋值呢? a{1,1}=rand(5)那么a的1行1列的单元中存储的就是一个随机的5×5的方阵了。那么要用第一个单元中的方阵中的某个值呢? 可以如下引用:a{1,1}(2,3)就可以了,引用cell单元时要用{},再引用矩阵的某个数据就要用()了。cell单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。

关于cell的创建:

1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把“[]”改成了}“{}” 2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组

3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.关于cell的访问: 1.X = C(s)使用这种“()”形式的返回的是cell类型

2.X = C{s}使用这种“{}”形式的返回的是cell中的内容 3.其他的基本上与通常的数组.矩阵访问一样了

4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素

5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值 6.cell的图形化显示使用命令cellplot(A)即可。

关于cell的删除介绍: 1.cell(1)=[]删除第一个cell,不能使用cell{1}=[],这是把第一个cell内容置空没有删除

>>C4={C1,C2,C3} C4 = {3x2 cell} {3x3 cell} {3x1 cell} >> C4(1)=[] C4 = {3x3 cell} {3x1 cell} 2.cell(:)=[]删除所有的cell,其他的删除一次类推 >> C4(:)=[] C4 = {} B={[1;2]} 这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下标即可,如B{1}。

下面我们给B再加个元素,我们可以这样定义 B(2)={'hello'} 也可以利用引用的方法定义 B{2}='hello' 第二种方法比第一种方法更方便所以更常用。

这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello').最后向大家介绍个网站:MATLAB中文论坛,上边有个I love matlab,有不懂的函数或符号,一般都可以在上面查到!

《MATLAB一些重要函数与符号用法总结(冒号,取整函数,Cell用法).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
MATLAB一些重要函数与符号用法总结(冒号,取整函数,Cell用法)
点击下载文档
相关专题 matlab中冒号的用法 函数 冒号 符号 matlab中冒号的用法 函数 冒号 符号
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文