在MATLAB中有没有结构体啊?如何定义?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MATLAB中有没有结构体啊?如何定义?相关的知识,希望对你有一定的参考价值。

在MATLAB中有没有结构体啊?如何定义?请说详细点,谢谢!!!

x=randsrc(1,50,[4 5 6; 0.1 0.8 0.1]),表示4,5,6服从0.1,0.8,0.1的概率分布,OUT = RANDSRC(M,N,ALPHABET) generates an M-by-N random matrix, using the alphabet specified in ALPHABET. 因为只用了randsrc这个自带函数,应该比FAQ里面的方法简单快捷很多。(暂时没有发现其他帖子提到过这个命令,如果重复了那见笑了哈,权当给不知道的学友提个醒)。顺便报个到呵,Matlab、Simulink用了大概3年,现在主要用来从事通信开发,作过一些大大小小的仿真,但经验有限,以前在研学逛,新注册这个论坛不久,这两天一直潜水,看精华和一 参考技术A 我不懂MATLAB,按理说有结构体.建议你买本资料 http://product.dangdang.com/product.aspx?product_id=9180013

如何在“结构”子索引中使用 FOR 循环? - MATLAB

【中文标题】如何在“结构”子索引中使用 FOR 循环? - MATLAB【英文标题】:How to use a FOR loop in a 'struct' subindex? - MATLAB 【发布时间】:2020-05-19 00:09:58 【问题描述】:

我有一个如图所示的结构,我需要寻址 FOR 循环中的一列,如图所示。但我不断收到此错误:

没有为“struct”类的值定义函数“subsindex”。

analisa_arx_teste 中的错误(第 351 行)

就我而言,我想要的是:第 1 行代表 i = 1,第 2 行 i =2;因此,对于特征,当我要求 pref_estemod(i).features 时,是从与每个模型关联的字段特征中获取值。

我刚刚开始使用 matlab 编程,因此我们将不胜感激。

谢谢!

for i=pref_estemod(1:npreferred)

[m,n]=size(Training);

features=(pref_estemod(1,i).features);

end

【问题讨论】:

为什么eval() .? 没有必要。我把它取下来了,但错误是一样的。 Im cmd 我可以输入,例如 pref_estemod(1,1) 并且它工作正常,但不适用于索引:/ 你能显示包含for循环的代码吗? 当然,我很抱歉。已编辑! 你到底想要i=pref_estemod(1:npreferred) 是什么意思?直到 n 的整数序列(在这种情况下,您需要 i=1:n)或其他? (如果是其他问题,请在问题中进行编辑。) 【参考方案1】:

错误在于i=pref_estemod(1:npreferred)

如果您打算使用i 进行索引,则语法为for i=1:npreferred

1:npreferred 本身扩展为水平数组[1,2,...,npreferred]= 带有前导 for 是一种特殊的语法组合。这意味着使用i=1i=2、...、i=npreferred 执行以下代码。现在我相信你已经知道for 循环背后的想法了。我写这一切的原因是给你以下警告/建议。不要期望相同的语法适用于非数字数组。因为它在某些情况下有效,而在其他情况下无效。

【讨论】:

“在某些情况下有效,在其他情况下无效”是什么意思? for a=A 始终以相同的方式工作:循环的每次迭代使用 A 的不同列。 @CrisLuengo:我似乎有a 采用整个数组A 的值的情况。所以就是这个意思。如果我没记错的话,它是一个字符串数组。版本是2019a。我没有这个例子了。 (事后看来,我当时应该用这个例子问一个 SO 问题。) @Agryll:如果数组是列向量,那么只有一列可以迭代。我敢打赌,这就是你所看到的。 @CrisLuengo:只要记忆犹新,我从不使用列向量进行迭代。为了模仿 x:y:z 语法的输出,我可能做出了这个奇怪的决定。但我会记住你提到的未来可能性。

以上是关于在MATLAB中有没有结构体啊?如何定义?的主要内容,如果未能解决你的问题,请参考以下文章

谁能给我讲讲c的结构体啊

matlab中如何看函数结构体中的数据

经验总结

在matlab中怎么定义结构体?机构体的概念?

关于matlab程序中的结构体

matlab中怎么定义结构体