网上搜了很多结构体的创建,都是什么student.name student.age,或者struct.
自己摸索了一下,根据你想要创建结构体的格式可以划分以下两类
clear all
clc
data = [1, 2, 2, 1;
2, 1, 1, 3;
4, 3, 2, 2];
data1 = [0, 2, 2, 1;
0, 1, 1, 3;
4, 3, 0, 2;
4, 3, 0, 2;
4, 3, 0, 2];
data2 = [0, 2, 2, 1;
0, 1, 1, 3;
4, 3, 0, 2];
%% ==============第一种格式==================
ptdata(1).x = data(1,1);
ptdata(1).y = data(1,2);
ptdata(1).z = data(1,3);
ptdata(1).v = data(1,4);
ptdata(2).x = data(2,1);
ptdata(2).y = data(2,2);
ptdata(2).z = data(2,3);
ptdata(2).v = data(2,4);
%% =============第二种格式=================
stdata(1).x = data(:,1);
stdata(1).y = data(:,2);
stdata(1).z = data(:,3);
stdata(1).v = data(:,4);
%% ===========将结构体数组组成为多个结构体===============
% method1:
mtdata{1} = ptdata;
mtdata{2} = ptdata;
% method2:
stdata(2).x = data1(:,1);
stdata(2).y = data1(:,2);
stdata(2).z = data1(:,3);
stdata(2).v = data1(:,4);
stdata(3).x = data2(:,1);
stdata(3).y = data2(:,2);
stdata(3).z = data2(:,3);
stdata(3).v = data2(:,4);
% stdata(1).x
% 结果为取出第一组所有字段的数据
% x: [3×1 double]
% y: [3×1 double]
% z: [3×1 double]
% v: [3×1 double]
% stdata(1).x(1)
% 结果为取出第一组X字段的第一个数据
% 1
结果如下:
mtdata:
根据自己的需求选择就ok了!