主要内容

labeledSignalSet

创建标记信号集

描述

使用labeledSignalSet将标记信号与标记定义一起存储。使用创建信号标签定义signalLabelDefinition

创建

描述

lss= labeledSignalSet创建一个空的标记信号集。使用同时向集合中添加信号。使用addLabelDefinitions向集合中添加标签定义。

例子

lss= labeledSignalSet (src为输入数据源创建标记信号集src.使用addLabelDefinitions向集合中添加标签定义。

lss= labeledSignalSet (srclbldefs为输入数据源创建标记信号集src使用信号标签定义lbldefs.使用signalLabelDefinition创建信号标签定义。

lss= labeledSignalSet (srclbldefs“MemberNames”,mnames为输入数据源创建标记信号集src并指定集合成员的名称。使用setMemberNames修改成员名。lbldefs是可选的。

例子

lss= labeledSignalSet (srclbldefs名称,值属性使用名称-值参数。可以指定多个名称-值参数。将每个属性名用引号括起来。lbldefs是可选的。

输入参数

全部展开

输入数据源,指定为矩阵,单元格数组,时间表,一个signalDatastore对象,或audioDatastore(音频工具箱)对象。src隐式指定集合的成员数、每个成员中的信号数以及每个信号中的数据。

例子:randn(3) 10randn(17日9)}有两个成员。第一个成员包含三个10样本信号。第二个成员包含9个17样本信号。

例子:{{randn(10,1)}, {randn(1) 17randn(27日1)}}有两个成员。第一个成员包含一个10样本信号。第二成员包含17个样本信号和27个样本信号。

例子:{{时间表(1:10) ',randn(3) 10),时间表(1:7)”,randn(2) 7)}, {时间表(1:3)”,randn(1))}}有两个成员。第一个成员包含三个以1hz采样10秒的信号和两个以1hz采样7秒的信号。第二个成员包含一个以1hz采样3秒的信号。

例子:signalDatastore指向文件的对象

用MATLAB®指定包含在mat文件中的一组样本声音信号的路径。每个文件包含一个信号变量和一个采样率。列出文件的名称。

文件夹= fullfile(matlabroot,“工具箱”“matlab”“音视频”);LST = dir(追加文件夹)“/ * .mat”));NMS = {lst(:).name}'
nms =7 x1细胞{的唧唧声。垫的}{'gong.mat' } {'handel.mat' } {'laughter.mat'} {'mtlb.mat' } {'splat.mat' } {'train.mat' }

创建指向指定文件夹的信号数据存储。将采样速率变量名称设置为Fs,这对所有文件都是通用的。生成不包含该文件的数据存储的一个子集mtlb.mat,它与其他文件的不同之处在于没有调用信号变量y

sds = signalDatastore(文件夹,“SampleRateVariableName”“Fs”);SDSS =子集(sds,~strcmp(nms, ~))“mtlb.mat”));

的源使用子集数据存储labeledSignalSet对象。

lss = labeledSignalSet(sdss)
lss = labeledSignalSet属性:来源:[1x1 signalDatastore] NumMembers: 6 TimeInformation: "固有"标签:[6x0表]描述:""使用labelDefinitionsHierarchy查看标签和子标签的列表。使用setLabelValue向集合中添加数据。

标签定义,指定为向量signalLabelDefinition对象。

成员名称,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。

例子:labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'})指定一组具有两个成员的随机信号,“骆驼”而且“羊驼”

属性

全部展开

标记信号集描述,指定为字符向量或字符串标量。

例子:“描述”,“按性别和年龄对患者进行睡眠测试”

数据类型:字符|字符串

此属性是只读的。

样本速率值,指定为正标量或向量。只有当数据源不包含固有的时间信息时,此属性才有效。

  • SampleRate为正数值标量,以指定标记集中所有信号的相同采样率。

  • SampleRate指定标记集的每个成员都有以相同速率采样的信号,但每个成员的采样速率不同。向量的元素个数必须等于集合中成员的个数。如果集合中的一个成员具有不同采样率的信号,则使用时间表指定采样率。

例子:“SampleRate”,[1 e2 e3]指定集合的第一个成员中的信号以100hz的速率采样,第二个成员中的信号以1khz的速率采样。

此属性是只读的。

采样时间值,指定为一个正标量,一个向量,a持续时间标量,或者a持续时间向量。只有当数据源不包含固有的时间信息时,此属性才有效。

  • SampleTime到一个数字或持续时间标量,为标记集中的所有信号指定相同的采样时间。

  • SampleTime到一个数字或持续时间向量,以指定标记集的每个成员的信号在样本之间具有相同的时间间隔,但间隔在成员之间不同。向量的元素个数必须等于集合中成员的个数。如果集合中的一个成员具有不同采样时间的信号,则使用时间表指定采样时间。

例子:“SampleTime”,秒([1依照1 e - 3])指定集合的第一个成员中的信号在样本之间有0.01秒的间隔,而第二个成员中的信号在样本之间有1毫秒的间隔。

此属性是只读的。

时间值,指定为向量a持续时间向量,矩阵,或者单元格数组。只有当数据源不包含固有的时间信息时,此属性才有效。时间值必须是唯一的,并且是递增的。

  • 时间价值到一个数字或持续时间向量为标记集中的所有信号指定相同的时间值。向量的长度必须与集合中所有信号的长度相同。

  • 时间价值到一个数字或持续时间矩阵或单元格数组,以指定标记集的每个成员具有具有相同时间值的信号,但时间值因成员而异。

    • 如果时间价值是一个矩阵,那么它的列数必须等于集合中成员的个数。集合中所有信号的长度必须等于矩阵的行数。

    • 如果时间价值是单元格数组,则它必须包含若干向量,这些向量等于集合成员的数目。成员中的所有信号的长度必须等于单元格数组中相应向量的元素数量。

如果集合的一个成员具有具有不同时间值的信号,则使用时间表指定时间值。

例子:“时间价值”,[1:1000;0:1/500:2-1/500]指定集合的第一个成员中的信号以1hz采样1000秒。第二个成员中的信号以500hz采样2秒。

例子:“时间价值”,秒([1:1000;0:1/500:2-1/500]”)指定集合的第一个成员中的信号以1hz采样1000秒。第二个成员中的信号以500hz采样2秒。

例子:“时间价值”,{1:1000,0:1/500:2-1/500}指定集合的第一个成员中的信号以1hz采样1000秒。第二个成员中的信号以500hz采样2秒。

例子:“时间价值”,{秒(1:1000),秒(0:1/500:2-1/500)}指定集合的第一个成员中的信号以1hz采样1000秒。第二个成员中的信号以500hz采样2秒。

此属性是只读的。

集合中的成员数,指定为正整数。

此属性是只读的。

标签表,指定为MATLAB®表格的每个变量标签对应于为集合定义的标签。每一行标签对应于数据源的成员。的行名标签是成员名。

数据类型:表格

源的时间信息,指定为以下之一:

  • “没有”—源中的信号没有时间信息。

  • “sampleRate”—以指定的速率对源中的信号进行采样。

  • “sampleTime”—源中的信号在采样之间有指定的时间间隔。

  • 的时间价值—源中的信号都有对应于每个采样的时间值。

  • “固有的”—源中的信号包含固有的时间信息。MATLAB时间表就是这种信号的一个例子。

数据类型:字符|字符串

此属性是只读的。

标记信号集的数据源,指定为矩阵、时间表、单元阵列或音频数据存储。

  • 如果为数值矩阵,则标记的信号集有一个成员,该成员包含的信号个数等于矩阵列的个数。

    例子:3) labeledSignalSet (randn(10日)有一个包含三个10样本信号的成员。

  • 如果是矩阵的单元格数组,则标记信号集的成员个数等于单元格数组中的矩阵个数。每个成员包含的信号数量等于对应矩阵的列数。

    例子:labeledSignalSet ({randn (10, 3), randn(17日9)})有两个成员。第一个成员包含三个10样本信号。第二个成员包含9个17样本信号。

  • 如果是单元格数组,且单元格数组的每个元素都是数值向量的单元格数组,则标记信号集的成员数量等于单元格数组元素的数量。成员中的每个信号可以有任意长度。

    例子:labeledSignalSet ({{randn (10,1)}, {randn(17日1),randn(27日1)}})有两个成员。第一个成员包含一个10样本信号。第二成员包含17个样本信号和27个样本信号。

  • 如果是包含包含数值变量的时间表,则标记的信号集有一个成员,该成员包含与变量数量相等的信号数量。时间表的时间值必须为类型持续时间唯一性和递增性。

    例子:labeledSignalSet(时间表(秒(1:10)”,randn (10, 3)))有一个成员,包含三个以1hz采样10秒的信号。

  • 如果是时间表的单元格数组,每个时间表有任意数量的带数值的变量,那么标记信号集的成员数量等于时间表的数量。每个成员包含的信号数量等于相应时间表中的变量数量。

    例子:labeledSignalSet({时间表(秒(1:10),randn(10, 3)),时间表(秒(1:5)',randn (13))})有两个成员。第一个成员包含三个以1hz采样10秒的信号。第二个成员包含13个以1hz采样5秒的信号。

  • 如果为单元格数组,且单元格数组的每个元素都是时间表的单元格数组,则标记的信号集的成员数量等于单元格数组元素的数量。每个成员可以有任意数量的时间表,成员中的每个时间表可以有任意数量的变量。

    例子:labeledSignalSet({{时间表(秒(1:10)”,randn(10, 3)),时间表(秒(1:7)”,randn(7, 2))},{时间表(秒(1:3),randn (3,1))}})有两个成员。第一个成员包含三个以1hz采样10秒的信号和两个以1hz采样7秒的信号。第二个成员包含一个以1hz采样3秒的信号。

  • 如果输入数据源,src,是一个音频数据存储,那么标记信号集的成员数量等于数据存储所指向的文件的数量。的属性包含包含文件名的字符向量的单元格数组。每个成员包含相应数据存储文件的读操作返回的所有信号。

对象的功能

addLabelDefinitions 为标记信号集添加标签定义
同时 为标记的信号集添加成员
countLabelValues 计数标签值
createDatastores 创建指向信号和标签数据的数据存储
createFeatureData 创建特征表或矩阵和响应向量
editLabelDefinition 编辑标签定义属性
getAlternateFileSystemRoots 当标记信号集的数据源是数据存储时,获取备用文件系统根
getLabelDefinitions 获取标签信号集中的标签定义
getLabeledSignal 从标记信号集中获取标记信号
getLabelIndices 获取指向标签信号集中标签定义的标签索引
getLabelNames 获取标签信号集中的标签名称
getLabelValues 从标记信号集中获取标记值
getMemberNames 获取标记信号集中的成员名
getSignal 从标记的信号集中获取信号
获取标签表的顶部行
labelDefinitionsHierarchy 获取标签和子标签名称的层次列表
labelDefinitionsSummary 获取信号标签定义汇总表
合并 合并两个或多个标记信号集
removeLabelDefinition 从标记信号集中删除标记定义
removeMembers 从标记的信号集中移除成员
removePointValue 从点标签中删除行
removeRegionValue 从ROI标签中删除行
resetLabelValues 将标签重置为默认值
setAlternateFileSystemRoots 当标记信号集的数据源是数据存储时,设置备用文件系统根
setLabelValue 在标签信号集中设置标签值
setMemberNames 在标记信号集中设置成员名称
子集 得到带有成员子集的新标记信号集

例子

全部折叠

考虑一组鲸鱼的声音录音。记录的鲸鱼声音包括颤音和呻吟。颤音听起来像一连串的咔哒声。呻吟是一种低频的叫声,类似于船喇叭发出的声音。你需要观察每一个信号并标记它以识别鲸鱼的类型,颤音区域和呻吟区域。对于每个颤音区域,还需要标记高于某个阈值的信号峰值。

信号标签定义

定义一个属性标签来存储鲸鱼类型。可能的种类有蓝鲸、座头鲸和白鲸。

dWhaleType = signalLabelDefinition(“WhaleType”...“LabelType”“属性”...“LabelDataType”“分类”...“类别”, {“蓝”“座头鲸”“白色”},...“描述”“鲸鱼类型”);

定义一个感兴趣区域(ROI)标签来捕获抱怨区域。定义另一个ROI标签来捕获颤音区域。

dMoans = signalLabelDefinition(“MoanRegions”...“LabelType”“投资回报”...“LabelDataType”“逻辑”...“描述”“发出呻吟声的区域”);dTrills = signalLabelDefinition(“TrillRegions”...“LabelType”“投资回报”...“LabelDataType”“逻辑”...“描述”“颤音发生的区域”);

最后,定义一个点标签来捕获颤音峰值。的子标签dTrills定义。

dTrillPeaks = signalLabelDefinition(“TrillPeaks”...“LabelType”“点”...“LabelDataType”“数字”...“描述”“颤音峰”);dTrills。子标签= dTrillPeaks;

标记信号集

创建一个labeledSignalSet有鲸鱼信号和标签定义。添加标签值来识别鲸鱼的类型,呻吟和颤音区域,以及颤音的峰值。

负载labelwhalesignalslbldefs = [dWhaleType dMoans dTrills];lss = labeledSignalSet({whale1 whale2},lbldefs,“MemberNames”, {“Whale1”“Whale2”},...“SampleRate”Fs,“描述”“描述鲸鱼的歌唱区域”);

将标签层次结构和标签属性可视化labelDefinitionsHierarchy而且labelDefinitionsSummary

labelDefinitionsHierarchy (lss)
ans = 'WhaleType subblabels: [] MoanRegions subblabels: [] TrillRegions subblabels: TrillPeaks '
labelDefinitionsSummary (lss)
ans =3×9表LabelName LabelType LabelDataType类别ValidationFunction DefaultValue Sublabels标签描述  ______________ ___________ _____________ ____________ __________________ ____________ ___________________________ ___ ____________________________ " WhaleType”“属性”“分类”{3 x1字符串}{【“N / A”】}{0 x0双}{0 x0双}”“鲸鱼类型”“MoanRegions”“投资回报率”“逻辑”{[“N / A”]}{0 x0双}{0 x0双}{0 x0双}“呻吟”“地区发生“TrillRegions”“投资回报率”“逻辑”{["N/A"]} {0x0 double} {0x0 double} {1x1 signalLabelDefinition} "" "颤音发生的区域"

加载数据中的信号对应于两只蓝鲸的歌声。设置“WhaleType”两个信号的值。

setLabelValue (lss 1“WhaleType”“蓝”);setLabelValue (lss 2“WhaleType”“蓝”);

可视化“标签”财产。该表有新添加的“WhaleType”两个信号的值。

lss。标签
ans =2×3表WhaleType MoanRegions TrillRegions _________ ___________ ____________ Whale1 blue {0x2 table} {0x3 table} Whale2 blue {0x2 table} {0x3 table}

可视化区域标签

想象鲸鱼的歌声,以识别颤音和呻吟的区域。

subplot(2,1,1) plot((0:length(whale1)-1)/Fs,whale1) ylabel(“鲸鱼1”) subplot((0:length(whale2)-1)/Fs,whale2) ylabel(《鲸鱼2》

图中包含2个轴对象。axis对象1包含一个类型为line的对象。Axes对象2包含一个类型为line的对象。

呻吟区是持续的低频哀号。

  • whale1呻吟声集中在7秒,12秒,17秒。

  • whale2呻吟声集中在3秒,7秒,16秒。

将呻吟区域添加到标记集。指定以秒为单位的ROI限制和标签值。

moanRegionsWhale1 = [6.1 7.7;11.4 - 13.1;16.5 - 18.1);mrsz1 = [size(moanRegionsWhale1,1) 1];setLabelValue (lss 1“MoanRegions”、moanRegionsWhale1真实(mrsz1));moanRegionsWhale2 = [2.5 3.5;5.8 8;15.4 - 16.7);mrsz2 = [size(moanRegionsWhale2,1) 1];setLabelValue (lss 2“MoanRegions”、moanRegionsWhale2真实(mrsz2));

颤音区有明显的声音爆发,不时被沉默打断。

  • whale1以2秒为中心发出颤音。

  • whale2以12秒为中心发出颤音。

将颤音区域添加到标记集。

trillRegionWhale1 = [1.4 3.1];trsz1 = [size(trillRegionWhale1,1) 1];setLabelValue (lss 1“TrillRegions”、trillRegionWhale1真实(trsz1));trillRegionWhale2 = [11.1 13];trsz2 = [size(trillRegionWhale1,1) 1];setLabelValue (lss 2“TrillRegions”、trillRegionWhale2真实(trsz2));

创建一个signalMask对象,并使用它来可视化和标记不同的区域。为了更好的可视化,将标签值从逻辑更改为类别。

mr1 = getLabelValues(lss,1,“MoanRegions”);mr1。值= category (repmat)“呻吟”mrsz1));tr1 = getLabelValues(lss,1,“TrillRegions”);tr1。值= category (repmat)“颤音”trsz1));msk1 = signalMask([mr1;tr1],“SampleRate”Fs);Subplot (2,1,1) plotsigroi(msk1,whale1) ylabel(“鲸鱼1”)举行mr2 = getLabelValues(lss,2,)“MoanRegions”);mr2。值= category (repmat)“呻吟”mrsz2));tr2 = getLabelValues(lss,2,“TrillRegions”);tr2。值= category (repmat)“颤音”trsz2));msk2 = signalMask([mr2;tr2],“SampleRate”Fs);Subplot (2,1,2) plotsigroi(msk2,whale2) ylabel(《鲸鱼2》)举行

图中包含2个轴对象。坐标轴对象1包含3个line类型的对象。Axes对象2包含3个line类型的对象。

可视化点标签

为每个颤音区域标注三个峰值。对于点标签,指定点位置和标签值。在本例中,点的位置以秒为单位。

peakLocsWhale1 = [1.553 1.626 1.7];peakValsWhale1 = [0.211 0.254 0.211];setLabelValue (lss 1 {“TrillRegions”“TrillPeaks”},...peakLocsWhale1 peakValsWhale1,“LabelRowIndex”1);次要情节(2,1,1)情节(peakLocsWhale1 peakValsWhale1,“v”)举行peakLocsWhale2 = [11.214 11.288 11.437];peakValsWhale2 = [0.119 0.14 0.15];setLabelValue (lss 2 {“TrillRegions”“TrillPeaks”},...peakLocsWhale2 peakValsWhale2,“LabelRowIndex”1);次要情节(2,1,2)情节(peakLocsWhale2 peakValsWhale2,“v”)举行

图中包含2个轴对象。坐标轴对象1包含4个line类型的对象。Axes对象2包含4个line类型的对象。

探索标签价值

探索使用的标签值getLabelValues

getLabelValues (lss)
ans =2×3表WhaleType MoanRegions TrillRegions _________ ___________ ____________ Whale1 blue {3x2 table} {1x3 table} Whale2 blue {3x2 table} {1x3 table}

检索标记集的第一个成员的呻吟区域。

getLabelValues (lss 1“MoanRegions”
ans =3×2表ROILimits价值  ____________ _____ 11.4 - 13.1 6.1 - 7.7 {[1]} {[1]} 16.5 - 18.1 {[1]}

使用第二个输出参数列出标签的子标签。

[value, valuewithsubblabel] = getLabelValues(lss,1,)“TrillRegions”
值=1×2表roelimits值__________ _____ 1.4 3.1 {[1]}
valueWithSublabel =1×3表ROILimits价值Sublabels TrillPeaks  __________ _____ ___________ 1.4 - 3.1 {[1]} {3 x2表}

要检索子标签中的值,请将标签名称表示为一个双元素数组。

getLabelValues (lss 1 {“TrillRegions”“TrillPeaks”})
ans =3×2表位置值  ________ __________ 1.553 {[0.2110]} 1.626 1.7 {[0.2540]} {[0.2110]}

找出与集合的第二个成员对应的第三个颤音峰值的值。

getLabelValues (lss 2 {“TrillRegions”“TrillPeaks”},...“LabelRowIndex”,1,“SublabelRowIndex”3)
ans =1×2表位置值  ________ __________ 11.437 {[0.1500]}

使用MATLAB®指定作为mat文件包含的一组音频信号的路径。每个文件包含一个信号变量和一个采样率。列出文件的名称。

文件夹= fullfile(matlabroot,“工具箱”“matlab”“音视频”);LST = dir(追加文件夹)“/ * .mat”));NMS = {lst(:).name}'
nms =7 x1细胞{的唧唧声。垫的}{'gong.mat' } {'handel.mat' } {'laughter.mat'} {'mtlb.mat' } {'splat.mat' } {'train.mat' }

创建指向指定文件夹的信号数据存储。将采样速率变量名称设置为Fs,这对所有文件都是通用的。生成不包含该文件的数据存储的一个子集mtlb.mat.的源使用子集数据存储labeledSignalSet对象。

sds = signalDatastore(文件夹,“SampleRateVariableName”“Fs”);SDS =子集(SDS,~strcmp(nms,))“mtlb.mat”));lss = labeledSignalSet(sds);

创建三个标签定义来标记信号:

  • 定义一个逻辑属性标签,该标签适用于包含人声的信号。

  • 定义一个数字点标签,标记每个信号最大值的位置和幅度。

  • 定义一个分类感兴趣区域(ROI)标签,以挑选出每个信号的非重叠、均匀长度的随机区域。

将信号标签定义添加到标记信号集。

vc = signalLabelDefinition(“声音”“LabelType”“属性”...“LabelDataType”“逻辑”“DefaultValue”、假);mx = signalLabelDefinition(“最大”“LabelType”“点”...“LabelDataType”“数字”);rs = signalLabelDefinition(“RanROI”“LabelType”“投资回报”...“LabelDataType”“分类”“类别”,[“投资回报”“其他”]);addLabelDefinitions(lss,[vc mx rs])

标记信号:

  • 标签“handel.mat”而且“laughter.mat”因为有人类的声音。

  • 使用islocalmax函数求每个信号的最大值。标明它的位置和价值。

  • 使用randROI函数生成尽可能多的长度区域N/10个样本,以适合长度的信号N给定的最小分离N区域间/6个样本。标记它们的位置并将它们分配给ROI类别。

标记点和区域时,将样本值转换为时间值。减去1为MATLAB®数组索引,并除以采样率。

Kj = 1;Hasdata (sds) [sig,info] = read(sds);fs = info.SampleRate;[~,fn] = fileparts(info.FileName);如果fn = =“汉德尔”| | fn = =“笑”setLabelValue (lss kj,“声音”,真正的)结束Xm = find(islocalmax(sig,“MaxNumExtrema”1));setLabelValue (lss kj,“最大”(xm-1)/fs,sig(xm)) N =长度(sig);rois = randROI(N,round(N/10),round(N/6));setLabelValue (lss kj,“RanROI”、(rois-1) / fs repelem (“投资回报”,size(rois,1)) kj = kj+1;结束

确认只有两个信号包含声音。

countLabelValues (lss“声音”
ans =2×3表声音数百分比_____ _____ _______ false 4 66.667 true 2 33.333

验证两个信号的最大振幅为1。

countLabelValues (lss“最大”
ans =5×4表最大计数百分比MemberCount ______________________ ____________ ___________ 0.80000000000000004441 1 16.667 1 0.89113331915798421612 1 16.667 1 0.94730769230769229505 1 16.667 11 2 33.333 2 1.0575668990330560071 1 16.667 1.使用实例

验证每个信号有四个不重叠的感兴趣的随机区域。

countLabelValues (lss“RanROI”
ans =2×4表RanROI计数MemberCount百分比  ______ _____ _______ ___________ ROI 24 100 6 0 0 0

用标记信号集中的数据创建两个数据存储:

  • signalDatastore对象sd包含信号数据。

  • arrayDatastore对象ld包含标签信息。指定要包含与所创建的所有标签对应的信息。

[sd,ld] = createDatastores(lss,[“声音”“RanROI”“最大”]);

使用数据存储中的信息绘制信号并显示它们的标签。

  • 使用一个signalMask对象以蓝色突出显示感兴趣的区域。

  • 用黄线标出最大值的位置。

  • 在包含人声的信号中添加一个红色轴标签。

tiledlayoutHasdata (sd) [sg,nf] = read(sd);LBLS = read(ld);nexttile msk = signalMask(lbls{:}.)RanROI {:},“SampleRate”, nf.SampleRate);plotsigroi colorbar (msk, sg)包含()参照线(lbls {:} .Maximum {:} .Location,...“线宽”2,“颜色”“# EDB120”如果lbls{:}。声音{:}ylabel (“表示”“颜色”“# D95319”结束结束

图中包含6个轴对象。坐标轴对象1包含4个类型为line、constantline的对象。坐标轴对象2包含4个类型为line、constantline的对象。坐标轴对象3包含4个类型为line、constantline的对象。Axes对象4包含4个类型为line、constantline的对象。axis对象5包含4个类型为line、constantline的对象。axis对象6包含4个类型为line、constantline的对象。

函数roilims = randROI(N,wid,sep) num = floor((N+sep)/(wid+sep));总部= histcounts (randi (num + 1, 1, N-num * wid - (num-1) * 9), (1: num + 2) 1/2);roilims = (1 + (0: num-1) * (wid + 9) + cumsum(总部(1:num)))”+ [0 wid-1];结束

版本历史

在R2018b中介绍

另请参阅

应用程序

对象