【问题标题】:Error: 'In an assignment A(:) = B, the number of elements in A and B must be the same'错误:'在赋值 A(:) = B 中,A 和 B 中的元素数必须相同'
【发布时间】:2015-12-10 13:03:39
【问题描述】:

问题: TrajSimilarity 是 k 个元素的结构,我想将 TrajSimilarity(1,k).aLongestString 的所有值放在向量/数组 A 中。我尝试使用此代码,但它会产生错误,你能帮帮我吗解决问题?

代码:

for k=1:14
    A(k)=TrajSimilarity(1,k).aLongestString;
    end

错误:

In an assignment  A(:) = B, the number of elements in A and B must
be the same

.

【问题讨论】:

    标签: matlab


    【解决方案1】:

    从字段名称aLongestString 我假设您正在处理字符串。在 matlab 中没有真正的字符串数据类型,而是处理 char 数组,例如 hello 的大小为 [1 5]

    数组的每个元素只能包含一个标量,例如数字或字符,因此您不能在其中存储字符串。元胞数组可以在其元胞中保存任意数据,因此请尝试元胞数组:

    n=14
    A=cell(n,1)
    for k=1:n
        A{k}=TrajSimilarity(1,k).aLongestString;
    end
    

    【讨论】:

      【解决方案2】:
      TrajSimilarity(1,k).aLongestString
      

      是两个向量的元素乘积,得到一个向量。您想将其放入标量 A(k) 中。把代码改成这个:

      A=TrajSimilarity(1,k).aLongestString;
      

      【讨论】:

      • 在哪里可以看到元素方面的产品?点是产品吗?
      • 对不起,我看到了。*
      猜你喜欢
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多