for 循环中的 MATLAB 和元胞数组处理

2023-12-04

我是 MATLAB 新手,想从数据库中获取的元胞数组中提取数据:

sensors = 

[ 1]    [23]    [1]    [  0]    [0.1000]            [1x29 char]
[ 2]    [23]    [1]    [120]    [0.1000]            [1x43 char]
[ 3]    [23]    [1]    [120]    [0.1000]            [1x42 char]
[ 4]    [23]    [1]    [ 15]    [0.1000]    'Air Temp Grey Box'
[ 5]    [23]    [1]    [120]    [0.1000]            [1x34 char]
[ 6]    [23]    [1]    [120]    [0.1000]            [1x33 char]
[ 7]    [23]    [1]    [120]    [0.1000]    'Pool Water Temp'  
[ 8]    [23]    [2]    [  0]    [0.1000]            [1x28 char]
[ 9]    [23]    [1]    [ 30]    [0.1000]            [1x22 char]
[10]    [23]    [1]    [ 30]    [0.1000]            [1x22 char]
[11]    [23]    [1]    [ 30]    [0.1000]            [1x21 char]
[12]    [23]    [1]    [ 15]    [0.1000]            [1x20 char]
[13]    [23]    [1]    [ 15]    [0.1000]            [1x23 char]
[14]    [23]    [1]    [ 30]    [0.1000]            [1x22 char]
[15]    [23]    [1]    [ 15]    [0.1000]    'Ground Air '      
[16]    [23]    [1]    [  5]    [0.1000]    'Boiler Cold Water'
[17]    [23]    [1]    [  5]    [0.1000]    'Boiler Hot Water' 
[18]    [23]    [1]    [  5]    [0.1000]    'Boiler CH Flow'   
[19]    [23]    [1]    [  5]    [0.1000]    'Boiler CH Return' 

现在我想获取第一列,即数字 1 到 19 以及最后一列中的相应名称,并在 for 循环中使用它们,例如:

for ID=xxxx
    str = num2str(ID);
    SQLcommand = strcat('SELECT FROM data where ID=',str);
    answer = database.exec(SQLcommand);
    ......
end

我尝试了几种不同的尝试,但从未成功地只获得其中一种元素。

感谢帮助:),提前致谢。 轴突


虽然 Sage 的上述答案可行,但它并不是真正正确或有效地使用 Matlab 的单元阵列。您可以通过使用正确的元胞数组内容索引来消除许多无关的函数调用。您可以通过两种方式寻址元胞数组的任何元素 -() or {}. ()得到细胞,仍然是一个细胞。{}然而,以它的基本类型提取单元格的内容。

So sensors(1, end)是一个 1x1 元胞数组,但是sensors{1, end}是一个 1x29 字符串。

对于你的问题:

numRows = size(sensors, 1);
for rowIdx = 1:numRows;
    sensorName = sensors{rowIdx, end};
    sql = ['select * from data where ID = ' num2str(sensors{rowIdx, 1})];
    ...
end

您还可以消除num2str()如果您将传感器 ID 作为字符而不是数字获取,即如果您的原始数据库获取填充的传感器进行了转换,则调用。

此外,如果您没有进一步从数据库查询,您可以对整个事情进行矢量化,但恐怕我远离我的 Matlab 机器,所以我无法凭空构建这个机器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

for 循环中的 MATLAB 和元胞数组处理 的相关文章

随机推荐

  • Expression.Lambda 和运行时的查询生成,最简单的“Where”示例

    我试图在运行时生成一个简单的 Lambda 表达式 但没有成功 如下所示 var result queryableData Where item gt item Name Soap 这是我的示例类和可查询的装置 public class I
  • C++中有128位整数吗?

    我需要存储 128 位长UUID在一个变量中 C 中有128位数据类型吗 我不需要算术运算 我只是想非常快速地轻松存储和读取值 C 11 的新功能也不错 尽管 GCC 确实提供 int128 仅支持整数模式宽度足以容纳 128 位的目标 处
  • 在 Apple 芯片(Big Sur、Monterey、Ventura)上为 Rcpp 和其他工具配置编译器

    我正在尝试使用需要的包Rcpp在我的 M1 Mac 上使用 R 语言 在购买这台计算机后我再也无法启动并运行它 我将其更新到蒙特利 希望这能解决一些安装问题 但事实并非如此 我尝试运行Rcpp检查来自这一页但我收到以下错误 gt Rcpp
  • 使用 PHP 根据空格和括号进行拆分

    我有这个字符串 s 本说 yellow 嘿 目前我正在使用 parts array filter preg split s s 所以我有一个数组元素的输出 0 ben 1 say 2 yellow 3 hey 是否可以创建这样的数组结构 0
  • 怎么解决这个问题。该进程无法访问该文件

    该进程无法访问文件 F copy back up system HRM 2 5 2013 HRM HRM lanbased txt 因为该文件正在被另一个进程使用 这是我在子主程序中的代码 Public localhost As Strin
  • 使用 Qt QNetworkAccessManager 发送 HTTP 标头信息

    我有以下代码 我想在调用时添加一些 HTTP 标头信息 无论如何我能做到吗 void NeoAPI call QString apiCall if this gt ApiCall contains apiCall QNetworkAcces
  • 根据响应递归组合 HTTP 结果

    有一个 API https panelapp genomicsengland co uk api v1 panels page 1 我想将所有数据消耗到我的角度应用程序中 问题是他们的 API 有分页 我想一次检索所有内容 正如您在 API
  • 无法绘制 MKPolylineView 交叉经度 +/-180

    我在 MKMapView 上绘制 MKPolylineView 时遇到问题 该线路代表一次环游世界的旅行 起点和终点均在纽约附近 始终向东行驶 从日本到旧金山的旅程的其中一段跨越太平洋 因此经度为 180 MKPolylineView 确实
  • 如何获取 WFFM 字段的值作为标签并将其输出到 Sitecore DMS 报告中?

    如果我创建一个启用了分析的 Web Forms For Marketers 表单 我可以选择将每个字段作为标签添加到访客 我看不到如何配置应将它们添加到哪个标签 甚至看不到默认情况下该标签的名称 我假设创建了带有字段名称的标签 我还想知道如
  • OmniAuth 无效响应错误

    我将 OmniAuth 与 Devise 结合使用 允许用户使用 Facebook 登录或使用用户名和密码创建普通帐户 当我最初设置这一切时 我使用了来自铁路广播 两个多月以来 一切都运行良好 但就在前几天 Facebook 登录停止工作
  • 如何在同一主机上运行 Angular 2 客户端应用程序和 Node 服务器应用程序

    我在 Angular 2 中构建了一个应用程序来从数据库获取数据 并使用 node express 从服务器获取数据并将其提供给 Angular 客户端 目前它们都运行在不同的本地主机上 如何将它们组合成一个项目并在同一主机上运行 假设您的
  • Android 管理 API:企业/策略列表?

    这让我抓狂 我已成功遵循Android 管理 API 快速入门创建项目 企业 策略并将其安装在设备上 我愚蠢地没有写下企业或策略 ID 我尝试创建一个新集 但非企业电子邮件现在给出错误 表明它已经是另一个 EMM 的一部分 控制台中是否有一
  • Heroku SSL 错误:密钥与 PEM 证书不匹配

    我正在尝试使用 Heroku 建议的说明生成自签名证书 http www akadia com services ssh test certificate html 这将创建 sever key 和 server crt 然后我尝试使用以下
  • 隐藏 UITableViewCell

    有没有办法隐藏 UITableView 单元格 我正在寻找一些可以在同步 cellForRowAtIndexPath 返回的 UITableViewCell 上调用的属性或方法 以隐藏它并使其无法被用户选择 对我来说 使用映射并不是一个简单
  • 如何获取并解析附加到 url 中的查询字符串? PHP

    我正在尝试开发一个 PHP 类 它使我能够将查询字符串附加到 url 中 并根据传递的变量对其进行处理 如何才能做到这一点 Eg www example com var1 a var2 b var3 c 现在我想要得到 var1 a var
  • 在 Lyx 中使用 Knitr 时出现 R 函数错误

    使用summary 函数时出现错误 Lyx 中的针织者 它前面的函数可以工作 lt lt gt gt library faraway head teengamb mdl lt lm gamble sex status data teenga
  • 如何在 Jenkins 托管的网格上使用 Chromedriver 设置 Selenium

    我刚刚迈出了使用 Selenium 的第一步 我成功设置了一个测试 Firefox 驱动程序 在我的 Jenkins 上的 Selenium 网格上运行 使用 Jenkins Selenium Grid 插件 我还在运行 Jenkins 的
  • JavaScript sweetAlert 弹出窗口在一秒钟后自行关闭

    我有一个 SweetAlert 弹出窗口 但它会自动关闭 通常它应该保留到用户单击 确定 为止 我已经包含并测试了所有 SweetAlert 文件
  • 通过 RStudio 加载 com.databricks.spark.csv

    我已经安装了Spark 1 4 0 我还安装了它的 R 包 SparkR 并且可以通过 Spark shell 和 RStudio 使用它 但是 有一个我无法解决的差异 启动 SparkR shell 时 bin sparkR master
  • for 循环中的 MATLAB 和元胞数组处理

    我是 MATLAB 新手 想从数据库中获取的元胞数组中提取数据 sensors 1 23 1 0 0 1000 1x29 char 2 23 1 120 0 1000 1x43 char 3 23 1 120 0 1000 1x42 cha