matlab struct 删除,matlab 中struct操作-程序员宅基地

技术标签: matlab struct 删除  

结构数组的创建

MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。

1. 使用直接引用方式定义结构

与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。

建立一个复数变量x

x.real = 0; % 创建字段名为real,并为该字段赋值为0

x.imag = 0 % 为x创建一个新的字段imag,并为该字段赋值为0

x =

real: 0

imag: 0

动态扩充为数组

将x扩充为1×2的结构数组

x(2).real = 0;

x(2).imag = 0;

为数组动态扩充字段

增加字段scale:

x(1).scale = 0;

这样,所有x都增加了一个scale字段,而x(1)之外的其他变量的scale字段为空:

查看结构数组的第一个元素的各个字段的内容

x(1)

ans =

real: 0

imag: 0

scale: 0

查看结构数组的第二个元素的各个字段的内容,注意没有赋值的字段为空

x(2)

ans =

real: 0

imag: 0

scale: []

应该注意的是,x的real、imag、scale字段不一定是单个数据元素,它们可以是任意数据类型,可以是向量、数组、矩阵甚至是其他结构变量或元胞数组,而且不同字段之间其数据类型不需要相同。例如:

clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10);

数组中不同元素的同一字段的数据类型也不要求一样:

x(2).real = '123';

x(2).imag = rand(5,1);

甚至还可以通过引用数组字段来定义结构数据类型的某字段:

x(3).real = x(1); x(3).imag = 3; x(3)

ans =

real: [1x1 struct]

imag: 3

2.使用struct函数创建结构

使用struct函数也可以创建结构,该函数产生或吧其他形式的数据转换为结构数组。

struct的使用格式为:

s = sturct('field1',values1,'field2',values2,…);

该函数将生成一个具有指定字段名和相应数据的结构数组,其包含的数据values1、valuese2等必须为具有相同维数的数据,数据的存放位置域其他结构位置一一对应的。对于struct的赋值用到了元胞数组。数组values1、values2等可以是元胞数组、标量元胞单元或者单个数值。每个values的数据被赋值给相应的field字段。

当valuesx为元胞数组的时候,生成的结构数组的维数与元胞数组的维数相同。而在数据中不包含元胞的时候,得到的结构数组的维数是1×1的。例如:

s = struct('type',{'big','little'},'color',{'blue','red'},'x',{3,4})

s =

1x2 struct array with fields:

type

color

x

得到维数为1×2的结构数组s,包含了type、color和x共3个字段。这是因为在struct函数中{'big','little'}、{'blue','red'}和{3,4}都是1×2的元胞数组,可以看到两个数据成分分别为:

s(1,1)

ans =

type: 'big'

color: 'blue'

x: 3

s(1,2)

ans =

type: 'little'

color: 'red'

x: 4

相应的,如果将struct函数写成下面的形式:

s = struct('type',{'big';'little'},'color',{'blue';'red'},'x',{3;4})

s =

2x1 struct array with fields:

type

color

x

则会得到一个2×1的结构数组。

结构数组的操作

函数名 功能描述

deal 把输入处理成输出

Fieldnames 获取结构的字段名

getfield 获取结构中指定字段的值

Rmfield 删除结构的字段(不是字段内容)

setfield 设置结构数组中指定的字段的值

Struct 创建结构数组

struct2cell 结构数组转化成元胞数组

Isfield 判断是否存在该字段

isstruct 判断某变量是否是结构类型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_29405101/article/details/115828834

智能推荐

监控显示服务器超时,监控连接服务器超时怎么解决-程序员宅基地

文章浏览阅读3.8k次。监控连接服务器超时怎么解决 内容精选换一换本文提供了分布式数据库中间件DDM产品介绍,快速入门、API接口的新特性的快速入口。您在了解云手机的优势和应用场景后,如果想体验云手机的功能,或者需要部署真实的业务,建议您参考本节操作购买云手机。操作流程如图1所示。准备工作包含两项任务:注册华为云并实名认证;创建密钥对。其中,密钥对用于鉴权,在购买服务器时要选择一个密钥对,以便连接云手机(建立SSH隧道)..._监控响应超时是什么回事

CV学习:传统(机器学习)图像识别(分类)_图像特征识别技术-程序员宅基地

文章浏览阅读6.6k次,点赞15次,收藏173次。本文代码全部可运行,笔者运行环境:python3.7+pycharm+opencv4.6。此文是学习记录,记录实现图像识别所需知识,对各知识点并不做深入探究,但笔者提供了相关链接以便读者进行深入学习。传统图像识别技术是指利用机器学习进行特征提取与图像分类。图像识别的过程包括信息获取、预处理、特征提取、图像分类。_图像特征识别技术

Android 可折叠式标题栏的实现_android coordinatorlayout floatingactionbutton col-程序员宅基地

文章浏览阅读1.1k次。先看效果图:一、实现步骤:1、布局文件<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout ="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="_android coordinatorlayout floatingactionbutton collapsingtoolbarlayout

宋仕强论道之华强北科技创新说,“创新”是深圳市和华强北灵魂,创新再加上敢想敢干永不言败,造就了深圳市经济奇迹和华强北财富神话_华强北可以面向市场融到资本-程序员宅基地

文章浏览阅读400次,点赞4次,收藏2次。华强北的主要业务模式,是把电子元器件卖给下游的硬件生产企业。华强北是电子信息产业大IP,福田区有金融、会展优势,结合电子元器件国产化的大势,可以在华强北打造国产集成电路展厅,为国产半导体品牌和公司的宣传推广、技术交流和合作服务,对有前途的公司资金扶持和资源对接,推动行业的良性发展。按照此思路,萨科微(www.slkoric.com)半导体在互联网发力,致力于把萨科微半导体官网打造成为专业性、生态型、包容性的平台,开设了技术交流、名家专栏、资料查询、电子资讯、行业应用、电子小百科等专栏。_华强北可以面向市场融到资本

设计模式六大原则之里氏替换原则_设计模式中的里斯代替原则-程序员宅基地

文章浏览阅读295次。里氏替换原则1. 由来肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。If for each object o1 of type S there is an object o2 of type T suchthat for all programs P d..._设计模式中的里斯代替原则

蓝牙基础技术(一)_蓝牙工作在( )ghz的ism频段,蓝牙设备在通信连接状态下,有四种工作模式:激活模-程序员宅基地

文章浏览阅读3.9k次,点赞3次,收藏25次。1、蓝牙简介蓝牙特点:蓝牙是一种短距无线通信的技术规范。蓝牙的特点可归纳为以下几点:(1)全球范围使用:蓝牙工作在2.4GHz的ISM频段全球大多数国家ISM频段的范围是2.4-2.4835GHz,使用该频段无需向各国申请许可。(2)同时可传输语音和数据:蓝牙采用电路交换和分组交换技术,支持异步数据信道、三路语音信道以及异步数据与同步语音同时传输的信道。每个语音信道数据速率为64kbit/s,语音信道编码采用脉冲编码调制(PCM)或连续可变斜率增量调制(CVSD)方法。当采用非对称信道传输数据时,速率_蓝牙工作在( )ghz的ism频段,蓝牙设备在通信连接状态下,有四种工作模式:激活模

随便推点

centos6x、7.x下amh4.2增强版)支持PHP52到php73多版本切换和mysql多版本_php73 替换老版本-程序员宅基地

文章浏览阅读705次。amh4.3完整版是在amh4.2的基础上修改来的,支持centos5和centos6,centos7,分别对32和64位都支持,内存超过512MB建议使用64位系统。使用了php多版本热切换、php5.4到php7.3开启了禁用危险函数功能,使用起来更安全。mysql多版本,并对zend加速,apcu加速进行支持,同时也支持多站点SSL,请先把数据盘挂载成/home,数据库和网站数据全部在/..._php73 替换老版本

开发认为不是bug,你该如何处理?-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏27次。这是软件测试员面试时经常被问到的问题。看了很多答案,个人觉得作为有工作经验的测试人员回答时不能完全照搬标准答案,技术面试官想听的当然不止如此。毕竟这种情况在实际工作中也常常出现,具体问题要具体分析,你的答案最好能妥善解决开发认为不是bug的问题,这也能侧面反映测试人员的自我判断能力和独立解决问题的能力。能代入自己的想法和测试理念的候选人更有优势,所以整理了这个问题的答案。(当然,..._如果开发那边发现确实没有这个问题,你觉得是什么原因

xftp Initialize Flexnet Service failed / Error code: 50003-程序员宅基地

文章浏览阅读1.5k次。xftp Initialize Flexnet Service failed / Error code: 50003CreateTime--2018年5月3日15:47:05Author:Marydon1.启动报错2.解决方案  解压文件至合适位置,比如:xfp的根目录下-->运行!-Install.bat即可。3.下载地址  http://ww..._initialize flexnet service failed error code:50003

Magic CopyAI抠图神器,抠图从未如此简单_magic-copy-程序员宅基地

文章浏览阅读1.6k次。Magic-copy 是一个 Chrome 扩展程序,该插件用的是 Meta AI 在不久前开源的一个人工智能模型,专门用来抠图。总的来说,Magic Copy 是一个功能强大且易于使用的浏览器插件,它可以轻松地抠取图片并复制到其他应用程序中。下载并安装该扩展程序。安装完成后,无需任何设置步骤,在网页中,只需用鼠标右键点击网页图片,然后选择弹出菜单中的“Magic Copy”即可启动抠图编辑器。在弹出编辑框中,点击左上角的Edit,用鼠标点击选择要抠图的人像区域,选取的抠图部分会变为绿色,如下图。_magic-copy

测试数据生成:python + faker + jemeter_jmeter python faker-程序员宅基地

文章浏览阅读152次。测试数据生成:python + faker + jemeter_jmeter python faker

300-最长递增子序列(最长递增子序列)_dp 最长递增子序列 状态转移方程-程序员宅基地

文章浏览阅读76次。题目给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7,7,7,7,7_dp 最长递增子序列 状态转移方程

推荐文章

热门文章

相关标签