1、Matlab函数isfield简介
函数功能: 判断输入是否是
结构体
数组
的域(成员)。
调用格式:
tf = isfield(S, 'fieldname')
检查
结构体
S是否包含由fieldname指定的域,如果包含, 返回逻辑1; 如果S不包含fieldname域或者S不是
结构体类型
的,返回逻辑0。
tf = isfield(S, C)
其中C是一个包含多个字符串的
元胞数组
,isfield判定由这些字符串表示的域是否是
结构体
的域。返回值是个逻辑型数组。
程序示例
close all; clear; clc;
student =
struct
('name', 'John', 'age', 20, 'score', 90);
fprintf
('Is ''name'' a field of student
struct
ure? %d\n',isfield(student, 'name'));
fprintf
('Is ''salary'' a field of student
struct
ure? %d\n',isfield(student, 'salary'));
isfield(student, {'name', 'salary', 'score'})
输出结果:
Is 'name' a field of student
struct
ure? 1
Is 'salary' a field of student
struct
ure? 0
ans = 1 0 1
2、Matlab函数cell2mat简介
把一个由多个矩阵构成的元胞数组转换成一个矩阵。意即把元胞数组中的多个矩阵合并成一个矩阵。
需要注意的是并非任何情况下都能得到正确的结果。 要得到正确的结果, 一个基本要求是, 在元胞数组中,处于同行的矩阵要有相等的行数, 处于同列的矩阵要有相等的列数。
比如:
myCell= {A, B; C, D}
这里我们构造了一个2行2列的元胞数组, 其中A、B、C、D是四个矩阵。
如果
A:一行一列 B:一行三列
C:二行一列 D:二行三列
那么我们可以通过调用cell2mat将A、B、C、D合并成一个矩阵。
语法格式: m = cell2mat(c)
3、Matlab函数vertcat简介
垂直串联的阵列
语法
C = vertcat(A1, A2, ...)
描述
C = vertcat(A1, A2, ...)
垂直串联矩阵A1,A2,并依此类推。在参数列表中的所有矩阵必须具有相同的列数。
vertcat串连沿第一维度的N维阵列。余下的维度必须相匹配。
vertcat也串连字符串。每个字符串被连接在一起,必须具有相同的字符数。
MATLAB调用C= vertcat(A1,A2,...)的语法C =[A1,A2,...]时A1,A2,等等是一个对象