【问题标题】:Cell Array MATLAB元胞数组 MATLAB
【发布时间】:2016-08-11 13:06:47
【问题描述】:

我正在尝试使用其他人制作的多实例学习库。

这是解释输入的主要代码。

function [Concepts,maxConcept,Iterations]=maxDD(PBags,NBags,Dim,Scales,SPoints,Epochs,Tol)


PBags   - An Mx1 cell array, the jth instance of ith positive bag is stored in PBags{i}(j,:) (1<=i<=M)
NBags   - An Nx1 cell array, the jth instance of ith negative bag is stored in Nbags{i}(j,:) (1<=i<=N)

我对元胞数组的概念不熟悉。 我的数据如下。 一个包含 400 个实例的文本文件。

前 200 个称为正实例。后 200 个称为负实例。这些需要整理成 42 个正包,然后是 40 个负包。(每个实例属于一个包..每个包包含超过 1 个实例) (将其视为红色和蓝色邮箱。每个邮箱依次包含 x 个实例(每个邮箱不同) 每个实例的数量以 (42+40=82) 维向量给出。

示例 4 5 6 ...2 表示 4 个实例进入第一个邮箱,5 个进入第二个邮箱,依此类推。

我如何以正确的单元格数组形式提供输入。由于数据和算法都来自同一个库,我认为我已经以某种形式轻松转换为单元格数组的数据!

【问题讨论】:

  • 我不明白这个。你能举一个“实例”的例子吗?你能显示你的文本文件的第一行吗?并告诉我们如何识别“实例”?另外,编辑标题!
  • 元胞数组只是一个数组,可以包含每个位置的任何内容。将 do 数据转换为元胞数组将是 a={PBags}。你可能想改写你的问题。
  • 每个实例都是 1X166 向量。每个袋子(+ve 或负数)包含几个实例。正面和负面实例按顺序列出(466x166 矩阵)。属于第一个包的实例数在另一个文本文件的第一个元素中给出,比如 5。
  • 您可以在 MATLAB 中将元胞数组视为 Java 中的对象数组 Object [] = new Object[10];,除了它使用 {} 而不是 [] 进行索引并且更容易扩展它。所以一个数组,换句话说,你可以在其中放置任何东西。

标签: arrays matlab cell-array


【解决方案1】:

这个问题肯定会更清楚,但基于我认为你的意思...... 我假设您的工作区中有一个元胞数组,并试图将该元胞数组中每个实例的内容输入到您正在调用的 MaxDD 函数中。 如果你想输入你使用的整个 1*166 向量(一个“实例”):

PBags{i}

这将返回位置 i 的单元格内容(应该是一个实例)。 这假设当您查看变量时 PBags 看起来像这样: Screenshot of rand-filled cell array

PBags
1x466 cell
_________________________________________________________________
|1x166 double|1x166 double|1x166 double|1x166 double|1x166 double| ...
-----------------------------------------------------------------
|            |            |            |            |            |
-----------------------------------------------------------------
.
.
.

其中每个 1x166 double 是上面提到的一个实例,并且有 466 个实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 2014-06-22
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多