MATLAB如何将函数作用于结构体的每个字段

 时间:2024-09-20 18:51:39

介绍MATLAB中的structfun函数。该函数将函数作用于一个结构体的每个字段。相似函数:arrayfun

MATLAB如何将函数作用于结构体的每个字段

工具/原料

MATLABR2016a

方法/步骤

1、首先,定义一个窑钕仇焱结构体,有三个字段(username,password,description)。使用structfun(函数,结构体)将醑穿哩侬对结构体的每个字段调用函数,并将返回结果存入数组(长度为结构体字段个数)。如图,使用匿名函数@(x)length(x),即对每个字段求长度。

MATLAB如何将函数作用于结构体的每个字段

2、structfun函数可以有多个返回值,前提是输入的函数有多个参数。如图,在文件MyFunc.m中自定义MyFunc函数,使用structfun进行调用。

MATLAB如何将函数作用于结构体的每个字段

3、structfun有两个可选参数。第一个是'UniformOutput',当其设置为true时,会把结果放入一个普通数组。但是如果结果不是同类型的标量,就需要将这个参数设置为false,以将结果存入元胞数组。

MATLAB如何将函数作用于结构体的每个字段

4、structfun的第二个参数是'挢旗扦渌;ErrorHandler',意在指定一个出错处理函数。当本来要调用的函剞麽苍足数出错时,把出错信息和传递的参数都传给出错处理函数。如图,自定义MyFuncErr出错处理函数,当出错时显示警告信息并返回NaN

MATLAB如何将函数作用于结构体的每个字段

5、structfun只支持传入一个结构体。如果同时需要传入更多参数,考虑arrayfun,或者把更多的参数合并为一个结构体中的一个字段。

MATLAB如何将函数作用于结构体的每个字段

LabVIEW2018中文安装环境 MATLAB中怎么把矩阵写入txt文档中去啊 Visio怎样快速对形状进行分组 如何在matlab中使用多维数组? 如何将数组从上向下翻转?
热门搜索
四川铜币图片及价格 徐正曦图片 搞笑图片动画 电影播放器 哥斯拉2:怪兽之王 电影