📄 2-40.asv
字号:
patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];
% 创建图2-7的结构数组,这是一个单结构数组
patient
% 显示结构数组
patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68 70; 118 118];
% 向结构数组添加一个元素,变成1×2的结构数组
patient
% 显示结构数组
patient(3).name = ['Ann Lane','John '];
% 结构数组第三个元素的name域值为多行字符串
patient(3).billing = [44 28.50];
% 结构数组第三个元素的billing域值为1×2的数组
patient(3).test = {'This is an example!',[1 2;3 4]};
% 结构数组第三个元素的test域值为一个元胞数组
s1 = struct('type', {'big','little'}, 'color', {'red'}, 'x', {3 4})
% 创建一个1×2的结构数组,这里{'big','little'}、{3 4}是元胞数组,花括号里面字符串和数值分别为结构数组两元素的域值
s2 = struct('type', {{'big','little'}}, 'color', {'red'}, 'x', {{3 4}})
% 创建一个1×1的结构数组,这里{'big','little'}、{3 4}也是元胞数组,但它们是域值,比较和s1的差别
s3 = struct('type', {'big','little','middle'}, 'color', {'red'}, 'x', {3 4})
% 无法创建结构数组,这里其实想创建一个1×3的结构数组,但是{3 4}输入量为2
s4 = struct('type', {'big','little','middle'}, 'x', [])
% 创建x域值为空的结构数组,结构数组大小为1×3
s4 =
1x3 struct array with fields:
type
x
s5 = struct( 'y3',{'1'},'x', {})
% 创建一个空结构数组
s5 =
0x0 struct array with fields:
y3
x
weather = repmat(struct('temp',72, 'rainfall', 0.0), 2, 3)
% 用repmat复制创建一个2×3的结构数组
weather =
2x3 struct array with fields:
temp
rainfall
另外struct函数不能直接创建嵌套的结构数组。嵌套的结构数组需要另外单独创建。可以先用s4的方法,用“[]”赋值为空,然后创建数组后再另行创建。如下:
s4(2).x.test = [1 2;3 4];
% s4(2)的x域值也是一个结构
s4(2)
ans =
type: 'little'
x: [1x1 struct]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -