Octave 为什么倍频程显示这个字符数组的错误维数
我不明白为什么这个阵列:Octave 为什么倍频程显示这个字符数组的错误维数,octave,Octave,我不明白为什么这个阵列: Type = Reflective Event, Reflective Event, Reflective Event 根据Octave的变量编辑器,它是一个3x19字符数组 在变量编辑器中,类型如下所示(我不知道这是否有用) 事情很奇怪,事实上,当我编码disp(size(TYPE))时,我得到相应的319 现在,更复杂的事情是,如果我编码size(TYPE,1),它应该给出类型的第一个维度的大小,我会得到11 你们能帮我找出哪里不对吗?猜猜看,因为帖子中的语法是无
Type = Reflective Event, Reflective Event, Reflective Event
根据Octave的变量编辑器,它是一个3x19字符数组
在变量编辑器中,类型如下所示(我不知道这是否有用)
事情很奇怪,事实上,当我编码disp(size(TYPE))
时,我得到相应的319
现在,更复杂的事情是,如果我编码size(TYPE,1)
,它应该给出类型的第一个维度的大小,我会得到11
你们能帮我找出哪里不对吗?猜猜看,因为帖子中的语法是无效的八度: 你的变量实际上是一个字符矩阵。请注意,字符串只是一个独立字符数组。所以
var1=" Reflective Event, ";
是长度(var1)==19
数组,或大小(var1)==(1,19)
数组。现在,如果你再重复一遍,你可以做一个(1,19*3)
数组,或者一个(3,19)
矩阵,我假设这就是你的矩阵
现在,由于您不知道每个字符都是独立的,所以您在第二次测试中得出了错误的结论。当您使用线性索引(即单个索引)为矩阵编制索引时,它将“展开”数组并为您提供单个元素
i、 e.A=[1 2 3;4 5 6;7 8 9]
是一个3x3矩阵,但您可以执行A(2,1)
或仅A(4)
来访问值4
在你的测试中,
size(TYPE(1))
是(1,1)
,因为TYPE(1)==“
,asTYPE(3)==“e”
等等。嗯,我主要使用matlab,但你的语法在matlab中无效,变量TYPE
不能这样定义。这是您实际使用的代码吗?我在八度音阶中得到了“sytanx错误”TYPE
的第一维度的大小是由size(TYPE,1)
或size(TYPE)(1)
给出的,而不是size(TYPE(1))
。是的,那是我编辑的一个打字错误。谢谢,现在我明白了。它计算每个角色的数量,因此其中一个由19个角色组成!现在清楚多了,谢谢
var1=" Reflective Event, ";