Matlab如何定义数组矩阵结构体引用元素及合并?

高分请问下,Matlab如何定义数组矩阵结构体引用元素及合并?
最新回答
身虽存〃心已死゛

2024-09-26 01:22:27

该软件名称翻译过来就是矩阵实验室。下面按步骤详细介绍如何自定义矩阵、数组(zeros、ones命令)、结构体(cell、struct命令),及引用调用相应结构中数据的程序,并介绍如何合并结构,如合并行矩阵和列矩阵。
定义数组和定义矩阵的程序格式完全一样,在软件中二者意思等价。通过“[]”自定义数组,同一行元素用“,”或者“空格”分隔,不同行用“;”分隔。如分别输入“[1 2 3 4 5 6]”及“[1 2 3;4 5 6]”命令运行效果如下图所示。

接着介绍几个特殊的矩阵生成命令,“[]”表示空元素,“zeros(n,m)”生成n行m列0矩阵,“ones(n,m)”生成n行m列全1矩阵。具体例子如下图所示。

接着介绍数组(或矩阵)元素的引用,引用格式为“数组名(n,m)”,如定义“A=[1 2 3;4 5 6]”这一两行三列矩阵A,令b=A(2,3),表示b等于A矩阵第二行第三列矩阵的值,仿真结果如下图所示。

接着介绍结构体的定义,结构体类比矩阵,矩阵中元素为数字,而结构体元素可以为字符串、矩阵等。这里只介绍“cell”命令的用法生成结构体,有兴趣可以学习“struct”命令。

首先用“B=cell(2,3)”生成空的2行3列结构体,如下图所示。

接着通过“B{n,m}=?”命令为结构体元素赋值,如输入“B{1,1}='asgsag'”及“B{2,3}='A' ”命令,结果如下图所示,这样就定义了结构体元素。

如果引用相应结构体元素可以用“变量名=结构体名{m,n}”即可,如基于步骤6,输入“b=B{2,3}”命令可得到下图结果。

接着介绍数组中矩阵元素的引用,如如入以下命令:A=[1 2 3;4 5 6];C=cell(2,3);C{1,1}=A;之后,输入f=C{1,1}(1,2)就可以引用矩阵A第一行,第二列元素。

注意命令结束加“;”表示不输出该命令结果,令结构体C{m,n}=A,和C{m,n}='A'的含义不同,一种是变量A(可以为矩阵,也可以为单个元素),另一种是符号A。

最后介绍数组的合并,如果矩阵A和矩阵B行数相同,可以合并行,用[A B]命令即可,如同列进行和并列,用[A;B]命令即可。例子如下图所示。