matlab关于结构体的创建

网上搜了很多结构体的创建,都是什么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了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值