MATLAB:将字符转换为自定义数字并返回的最快方法

2023-11-30

我正在寻找一种快速方法,将小写字母、空格和句点组成的大型字符数组转换为一组整数,反之亦然。

通常我会使用 double 和 char 函数,但我想使用一组特殊的整数来表示每个字母(以便 'a' 与 '1' 匹配,'b' 与 '2' 匹配......' z' 与 26 匹配,' ' 与 27 匹配,'.' 与 28 匹配)

我目前的方法是:

text = 'quick brown fox jumps over dirty dog';
alphabet ='abcdefghijklmnopqrstuvwxyz .';

converted_text = double(text);
converted_alphabet = double(alphabet);

numbers = nan(28,1)

for i = 1:28
     numbers(converted_text(i)==converted_alphabet(i)) = i;
end

newtext = nan(size(numbers))

for i = 1:size(numbers,1)
   newtext(numbers==i) = alphabet(i)
end

不幸的是,对于大型数组来说,这需要相当多的时间,我想知道是否有更快的方法在 MATLAB 中执行此操作?


一个简单的方法是使用ismember():

[~,pos] = ismember(text,alphabet)

或者使用隐式转换-:

out = text - 'a' + 1;

请注意,空格将有 -64 和句号 -50,这意味着您将需要:

out(out == -64) = 27;
out(out == -50) = 28;

速度考虑因素:

For small如果您愿意用负索引留下空白和句号,则后一种解决方案会稍微快一些。

For big数组,在我的机器上长了 1e4 倍,后一个解决方案比ismember().

回去:

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

MATLAB:将字符转换为自定义数字并返回的最快方法 的相关文章

  • 在 Matlab 中将变量命名为字符串 [重复]

    这个问题在这里已经有答案了 假设变量 FileName 包含一个字符串 例如 Name1 如何创建名称为 Name1 的变量 本页的示例 4 似乎很相似 但我无法让它工作 这是正确的做法吗 http se mathworks com hel
  • 如何将双精度数转换为保留 2 位小数的字符串?

    我正在将这个双精度数转换为字符串 以便可以将其显示在 TextView 上 我希望使用 String format 使字符串具有 2 个小数位 但我不知道将其放在这行文本中的何处 Example setText Double toStrin
  • Objective-C 右填充

    大家好 希望有人可以提供帮助 我正在浏览网络 但似乎没有什么真正有意义的 S 所以我有一个字符串可以说 123 我想使用如下函数 padr 123 5 x 结果应该是 123xx 抱歉 Objective C 在处理字符串时是一场噩梦 S
  • 确定时间序列数据的 SOM(自组织映射)中的集群成员资格

    我也在做一个需要对时间序列数据进行聚类的项目 我正在使用在 MATLAB 中运行的 SOM 工具箱进行聚类 但遇到了以下问题 我们如何确定哪些数据属于哪个集群 SOM从数据集中随机选择数据样本 并为每个数据样本找到BMU 据我所知 SOM算
  • 如何在 JavaScript 中检查字符串是否包含子字符串数组中的文本?

    非常简单 在 javascript 中 我需要检查字符串是否包含数组中保存的任何子字符串 没有任何内置功能可以为您执行此操作 您必须为其编写一个函数 尽管它可能只是对some数组方法 两种方法适合您 Array some method 正则
  • 防止Matlab舍入输出?

    我运行一个简单的脚本来估计函数的根 一切都很好 算法的每次迭代都会打印出当前的 x 和 f x 但是当脚本完成并将 x 的最终估计设置为函数的输出时 该值将被返回并四舍五入到小数点后 3 位 while k lt maxit k k 1 d
  • 如何重载Lua字符串下标运算符?

    This debug getmetatable index function s i return s sub i i end 和这个 debug getmetatable index proc lua read 不起作用 Try debu
  • 如何设置一个 C 函数,将用户输入拆分为多个部分,并拆分这些较小的部分?

    我正在尝试开发一个接受一行用户输入的 C 函数 例如这一行 1X 1X 3Y 1Z 1Z 1Z 1Z 2X 2X 编辑 这只是用户输入内容的任意示例 在实际程序中 他们可以输入 1 到 48 个数字字符对之间的任意位置 这个想法是 用户将插
  • 如何替换 JavaScript 中出现的所有字符串?

    给定一个字符串 s Test abc test test abc test test test abc test test abc 这似乎只删除了第一次出现的abc在上面的字符串中 s s replace abc 我该如何更换all它的出现
  • python 从字符串创建对象

    我有下一个情况 以下方法的目标是返回从传入字符串创建的对象 所以我有 class Situation Generator pass 以及父类中的方法 class Generator object def createsituation se
  • sprintf 与 String.Format 的性能[重复]

    这个问题在这里已经有答案了 我正在比较 sprintf 用法的性能 并对我所看到的感到有点困扰 我测试了以下 4 个方法 将 ClassWithToString 的实例传递给每个方法 PrintInt 除外 它接收实际的整数值 type C
  • 在字符串列表中查找子字符串

    我有一个像这样的列表 我希望能够在此列表中搜索来自另一个字符串的子字符串 例子 List
  • 使用 mle() 估计自定义分布的参数

    我有以下代码 我希望估计自定义分布的参数 有关分发的更多详细信息 https stackoverflow com q 56522903 4930944 然后使用估计的参数 我想看看估计的 PDF 是否类似于给定数据的分布 它应该与给定数据的
  • java为oracle VARCHAR2返回空字符串值

    我有以下代码 它似乎工作正常 但它不显示 personCode 字符串的任何值 PERSON CODE 是 Oracle 9i 数据库中的 VARCHAR2 我在我的项目中使用 Java SE 1 7 和 ojdbc7 jar 我是 Jav
  • 修改字符数组,修改部分向后显示

    我刚刚开始学习汇编 我正在尝试修改字符数组 这是我的汇编代码 data data byte Five 0 code Asm proc lea rax data mov dword ptr rax Four ret Asm endp end
  • 评估函数卷积时出错

    这是我第一次尝试用 matlab 编写任何东西 所以请耐心等待 我正在尝试评估以下 ODE 的解 w N w w f t 与柯西条件 w 0 w 0 0 这里 N 是给定的非线性函数 f 是给定的源 我也需要这个功能 其中 G 是以下 OD
  • MATLAB 中的神经网络

    我在 MATLAB 中训练了异或神经网络并得到了这些权重 iw 2 162 2 1706 2 1565 2 1688 lw 3 9174 3 9183 b 1 2 001 2 0033 b 2 3 8093 出于好奇 我尝试编写 MATLA
  • 解析字符串

    我有一个格式为 ABCDEFG 12 34 56 78 90 11 的字符串 我想将这两个用逗号分隔的值分隔成两个不同的字符串 我如何使用 c 语言在 gcc 中做到这一点 一种可能性是这样的 char first 20 second 20
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi

随机推荐

  • 如何设置 Visual Studio Code 来编译 C++ 代码?

    微软的视觉工作室代码编辑器相当不错 但它没有默认支持构建 C 项目 我如何配置它来执行此操作 构建任务是特定于项目的 要创建新项目 请在 Visual Studio Code 中打开一个目录 Following the instructio
  • 使用 jQuery 解析远程内容的最佳实践是什么?

    在 jQuery ajax 调用检索整个 XHTML 文档之后 从结果字符串中选择特定元素的最佳方法是什么 也许有一个库或插件可以解决这个问题 jQuery 只能选择字符串中存在的 XHTML 元素 如果 W3C 规范中的 div 中通常允
  • 使用 Retrofit 将 json 结构转换为数组

    我遇到了 Retrofit 和 Trakt tv API 中丑陋的 json 对象的麻烦 season 1 episodes 1 true 2 true 3 false 4 false 5 false 6 false 7 false epi
  • 直接从 JSON 文件获取数据帧?

    首先 我要感谢所有为 Stackoverflow 和 R 做出贡献的人 我是那些不太擅长编程的 R 用户之一 但勇敢地尝试在工作中使用它 所以下面的问题可能是微不足道的 问题就在这里 我需要将 JSON 格式的文件导入到 R library
  • 滚动视图中的多个文本视图

    我有一项活动以文本形式显示步行方向 我有一组 TextView 其中 5 个包含 步骤 x 其中 x 是步骤号 另外 5 个 TextView 包含实际说明 问题是最后一个 TextView 离开屏幕 所以我想让这组 TextView 滚动
  • elasticsearch 2.0 父子孙子

    我的操作 父级 国家 地区 子级 分支机构 孙级 员工 PUT company 映射 分支 父 类型 国家 员工 父 类型 分支 我想添加一个孙子employee2 父级是分支 PUT company employee2 mapping e
  • 结构名称是否指向第一个元素?

    我发现了一些类似的问题 但没有一个有多大帮助 结构名称是否指向结构的第一个元素 类似于数组 struct example int foo int bar struct example e e foo 5 e bar 10 printf d
  • 隐藏提交按钮直到表单有效

    我对 Jquery 相当陌生 所以这可能是一个简单的问题 但是有没有办法隐藏表单上的提交按钮 直到验证所有字段 验证需要是 键入时 的解决方案 基本上我有 3 个字段 名字 姓氏和电子邮件 我希望提交按钮保持隐藏状态 直到填写了两个 名称
  • Ogre/Mogre:相机两点透视

    我正在显示一个场景 其中有一些立方体 相机采用的是透视法 一切都很好 但我希望垂直线是平行的 两点透视 http en wikipedia org wiki Perspective graphical 两点透视 从正面观察立方体时 我想要的
  • 如何将多列放入kivy RecycleView中?

    我想将 csv 表的数据放入 kivy recycleview 中 如果我为 kv 中的标签分配固定文本 我设法用一行插入多列 但我无法让它用字典列表中的数据填充标签 这是到目前为止我用来测试这个概念的代码 from kivy app im
  • 如何将存储过程的输出返回到sql server中的变量中

    我想在 SQL Server 中执行存储过程并将输出分配给变量 它返回单个值 这取决于您想要返回的信息的性质 如果它是单个整数值 则可以使用return陈述 create proc myproc as begin return 1 end
  • #include 检测到错误。请在 Visual Studio 代码中更新您的 includePath

    我正在尝试在 Visual Studio Code 中编译 C 文件如何使用 C C 扩展并添加包含路径到配置但我收到此错误 include errors detected Please update your includePath Sq
  • 使用javascript,如何在单击表格单元格时获取其背景颜色?

    我想要弹出一个警报 每当我单击它时 它都会显示表格单元格的背景 我似乎无法找到或弄清楚如何获取背景颜色 我的表格单元格如下所示 td 0 td 我的 selectCell 函数如下所示 function selectCell e alert
  • 如何在 C# 中将消息框显示为系统模式?

    如何在 C 中将消息框显示为系统模式 例如vbModal在 Visual Basic 6 中 使用 C MessageBoxIndirect 包装器进行高级 MessageBoxing
  • 将 Spring Security 与 SiteMinder 集成

    如何将 Spring Security 与 SiteMinder 集成以接收用户和角色 我有一个在内存中使用 Spring Security 的项目设置 我想使用它来接受具有用户和角色的 SiteMinder 标头 如果SiteMinder
  • 尝试使用 Scrapy 抓取 LinkedIn 时出现 999 响应

    我正在尝试使用 Scrapy 框架从 LinkedIn 中提取一些信息 我知道他们对尝试抓取其网站的人非常严格 因此我在 settings py 中尝试了不同的用户代理 我还指定了较高的下载延迟 但它似乎仍然立即阻止了我 USER AGEN
  • SKScene 无法释放内存,导致内存增长有限

    我已经为此苦苦挣扎了好几天 由于某种原因 我的 SKScenes 没有正确释放 这导致内存增长有限 因为每次我退出并进入场景时 内存都会跳跃 这意味着游戏进行 10 轮后应用程序崩溃 据我所知 经过多次检查后 我没有任何保留周期或对场景本身
  • C#:检测哪个应用程序具有焦点

    我希望创建一个 C 应用程序 根据当前具有焦点的应用程序来更改内容 因此 如果用户使用 Firefox 我的应用程序就会知道这一点 Chrome Visual Studio TweetDeck 等也是如此 这可能吗 如果可能的话 我将如何实
  • DispatchGroup 逻辑工作流程

    我正在尝试实施DispatchGroup如下 但如果第一个调用返回true 然后第二个返回false 那么总体结果将返回false 但是 如果第一个调用返回false 然后第二个返回true 那么总体结果将返回false这不是我所期望的 我
  • MATLAB:将字符转换为自定义数字并返回的最快方法

    我正在寻找一种快速方法 将小写字母 空格和句点组成的大型字符数组转换为一组整数 反之亦然 通常我会使用 double 和 char 函数 但我想使用一组特殊的整数来表示每个字母 以便 a 与 1 匹配 b 与 2 匹配 z 与 26 匹配