2、小括号获取元胞数组子数组
使用小括号 + 索引值 , 取出元胞数组中的元素 , 结果是子元胞数组 ;
% 结构体中的 name 对应的值的第 1 个元素 , 是 1x1 的 cell % 使用括号取出的是 cell students.name(1)
执行效果 :
3、大括号获取元胞数组值
使用大括号 + 索引值 , 取出元胞数组中的元素 , 结果是元胞数组中的值 ;
% 结构体中的 name 对应的值的第 1 个元素的值 , 是字符串 % 使用大括号取出的是数据值 students.name{1}
执行效果 :
三、代码示例
%% 注释
% 普通注释 %% 1. 数字 1 + 2 2 - 1 2 * 3 3 / 2 %% 2. 字符和字符串 s= 'a' str = 'Hello Woirld !' % 获取字符 ASCII 码 abs(s) % 字符 char(65) % 数字转字符串 num2str(65) % 计算字符串长度, 包括空格 length(str) %% 3. 矩阵 % 定义矩阵, 行之间的元素使用 空格 或 逗号隔开 , 每行之间使用分号隔开 ; A = [1,2,3; 4,5,6; 7,8,9;] % 定义矩阵 B , 矩阵值是 A 的转置矩阵 B = A' % 将矩阵按照列放到一列中 , 依次是第一列,第二列 ... C = A(:) % 逆矩阵, 只有方阵才能求逆矩阵 D = inv(A) % 生成 0 矩阵 , 最后一个 3 代表 3 维矩阵 % 开始的 3 和 2 分别代表 3 行 2 列 E = zeros(3, 2, 3) % 随机生成均匀分布的随机数, 0 ~ 1 区间中 E(:,:,1) = rand(3, 2) % 随机生成均匀分布的随机整数, 0 ~ 20 开区间中 E(:,:,2) = randi(20, 3, 2) % 随机生成正太分布的随机数, 0 ~ 1 区间中 E(:,:,3) = randn(3, 2) %% 4. 元胞数组 % 元胞数组定义, 定义一个 2 行 3 列的元胞数组 array = cell(2,3) % 生成单位阵 eye(3) % 生成幻方 magic(3) % eye(3) 生成一个 3x3 对角线数值为 1 的单位矩阵 % matlab 中的索引值从 1 开始 , 主流编程语言 C/C++/Java/Python 等都是从 0 开始 % array{2} 指的是元胞数组第 2 个元素 % matlab 的二维数组索引优先从列开始 , 第一列, 第二列... % 因此 array{2} 是第一列第二个 array{2} = eye(3) % 为第 5 个元素赋值幻方 % 第 3 个元素是第三列第一个元素 array{5} = magic(3) %% 5. 结构体 % 结构体 students = struct('name', {{'Tom', 'Jerry'}}, 'age', [12, 18]) % 结构体中的 name 对应的值 , 是 1x2 的 cell students.name % 结构体中的 name 对应的值的第 1 个元素 , 是 1x1 的 cell % 使用括号取出的是 cell students.name(1) % 结构体中的 name 对应的值的第 1 个元素的值 , 是字符串 % 使用大括号取出的是数据值 students.name{1}