MATLAB语法长度
我正在读一些MATLAB,想把它捡起来。下面这句话可能很简单,但我不明白 我知道length会给出向量的长度,在这种情况下,向量是结构的一部分,index_struct.data_incl 在运行时,index_stuct.data_incl的实际值仅为1。让我困惑的是括号内的内容,即(index_struct.data_incl==1)?我想不出这条线想做什么,尽管它可能很简单MATLAB语法长度,matlab,Matlab,我正在读一些MATLAB,想把它捡起来。下面这句话可能很简单,但我不明白 我知道length会给出向量的长度,在这种情况下,向量是结构的一部分,index_struct.data_incl 在运行时,index_stuct.data_incl的实际值仅为1。让我困惑的是括号内的内容,即(index_struct.data_incl==1)?我想不出这条线想做什么,尽管它可能很简单 int_var = length(index_struct.data_incl(in
int_var = length(index_struct.data_incl(index_struct.data_incl == 1));
如果我看不到代码,我只能猜测…,但我猜
索引结构数据包含
应该是一个向量,长度n
意味着您可以选择读取到n
文件,数组的所有值在开始时都应该是0
,读取文件时,将向量索引结构数据中的相应位置从0更改为1。一段时间后,您可以看到您使用
int_var = length(index_struct.data_incl(index_struct.data_incl == 1));
因为它会给你向量索引结构中1
的数量。数据包含试试这个(但是把x
想象成你的索引结构。数据包含:):
它只是计算x
向量中等于1
因为x==1
计算为[1 0 0 0 1]
,然后使用x(x==1)
计算为[1 1 1]
,其长度为3
它可以更简单地写成sum(index\u struct.data\u incl==1)
x = [1 4 5 13 1 1]
length(x(x==1))
ans =
3