linspace 相对于冒号“:”运算符的优点是什么?

2023-12-22

写作有什么好处吗

t = linspace(0,20,21)

over

t = 0:1:20

?

我知道前者产生一个向量,就像第一个一样。
谁能告诉我一些情况linspace有用过t = 0:1:20?


这不仅仅是可用性。尽管文档说:

The linspace函数生成线性间隔的向量。这是 与冒号运算符 : 类似,但可以直接控制 点数。

是一样的,主要区别和优点linspace是它生成一个向量integers具有所需的长度(或默认 100)并对其进行缩放然后到所需的范围。这:冒号直接通过增量创建向量。

假设您需要定义直方图的 bin 边缘。尤其是你需要一定的垃圾箱边缘0.35准确地处于正确的位置:

edges = [0.05:0.10:.55];
X = edges == 0.35

edges =   0.0500    0.1500    0.2500    0.3500    0.4500    0.5500
X =  0     0     0     0     0     0

没有定义右 bin 边缘,但是:

edges = linspace(0.05,0.55,6);   %// 6 = (0.55-0.05)/0.1+1
X = edges == 0.35

edges =   0.0500    0.1500    0.2500    0.3500    0.4500    0.5500
X =  0     0     0     1     0     0

does.

嗯,这基本上是一个浮点问题。哪个can避免被linspace, as a single整数除法并不像浮点数的累加和那么微妙。但正如马克·迪金森在评论中指出的那样:您不应依赖任何计算值是否完全符合您的预期。这不是 linspace 的用途。在我看来,问题在于出现浮点问题的可能性有多大,以及可以将其概率降低多少,或者可以将容差设置为多小。使用林空间可以减少这些问题发生的概率,它不是一种安全。

这就是代码linspace:

n1 = n-1
c = (d2 - d1).*(n1-1) % opposite signs may cause overflow
if isinf(c)
    y = d1 + (d2/n1).*(0:n1) - (d1/n1).*(0:n1)
else
    y = d1 + (0:n1).*(d2 - d1)/n1
end

总结:linspace和结肠在完成不同的任务时都很可靠。linspace试图确保(顾名思义)线性间距,而colon试图确保对称性

在您的特殊情况下,当您创建整数向量时,有no的优点linspace(除了可用性 https://stackoverflow.com/a/26292855/2605073),但是当涉及浮点精细任务时,可能是这样。

山姆·罗伯茨的回答 https://stackoverflow.com/a/26297279/2605073提供了一些附加信息并澄清了更多事情,包括 MathWorks 的一些声明关于冒号运算符 http://www.mathworks.co.uk/matlabcentral/answers/143255-how-does-the-colon-operator-work.

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

linspace 相对于冒号“:”运算符的优点是什么? 的相关文章

  • Swift:HackerRank readLine 一个 Int 数组

    我正在玩 HackerRank 我需要从行读取整数数组的问题之一 A 1 2 3 B 1 4 7 I tried let line readLine print line 但我收到这个错误 solution swift 2 7 warnin
  • 派生类型数组:选择条目

    目前在我的代码中我有一个二维数组 integer allocatable elements 并定义一些常量 integer parameter TYP 1 integer parameter WIDTH 2 integer paramete
  • STL 容器速度与数组

    我刚刚开始从事一个科学项目 其中速度非常重要 HPC 我目前正在设计数据结构 该项目的核心是双值 3D 网格 以求解偏微分方程 由于这里的速度可能比代码的简单性更重要 我想知道 STL 与通常的 C 风格数组相比如何执行 就我而言 因为它是
  • 有没有办法更改 C# 数组内的元组值?

    我正在使用的数组是int 我想在一个方法中创建每个 我假设的 元组的第一个值 然后我想多次修改后两个值 在另一种方法中 例如 int MyArrayGet int myArray int myArray new int 9 9 9 for
  • 用埃拉托斯特尼筛法寻找素数(原文:有更好的方法来准备这个数组吗?)

    Note 下面的版本 2 使用埃拉托斯特尼筛法 有几个答案对我最初提出的问题有所帮助 我选择了埃拉托斯特尼筛法 实施了它 并适当地更改了问题标题和标签 感谢所有提供帮助的人 介绍 我编写了这个奇特的小方法 它生成一个包含小于指定上限的素数的
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • JavaScript 比较数组

    我有一个以下格式的数组 var markers Title 15 102253 38 0505243 Description 1 Another Title 15 102253 38 0505243 Another Description
  • PHP:将字符串分成 8 个块,我该怎么做?

    我基本上有二进制 假设它的长度是300 我如何将它分割 就像使用爆炸一样 成 8 位块 我查看了 chunk split 但它似乎只有一个 end 参数 而不是将其放入数组的选项 或者它可以插入数组吗 末尾 8 位数字可以低于 8 如果有人
  • 使用 for 循环 Python 为数组赋值

    我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为 列表分配超出范围 的错误 uuidVal distVal uuidArray distArray for i in range len returnedList for beac
  • Java中char数组的默认值是多少?

    如果我像这样分配字符数组 char buffer new char 26 它分配的默认值是什么 我尝试打印它 但它只是一个空字符 System out println this is what is inside gt buffer 1 t
  • 调整巨大数组的大小

    我正在我的应用程序中处理巨大的数组 需要调整它们的大小 假设您有一个 2Gb 的阵列 并且想要将其大小调整为 3Gb 有没有办法在暂时不需要 5Gb 的情况下调整它的大小 例如 给定一个 1Gb 堆 使用 Xmx1G flag public
  • 创建动态多维对象/数组

    我正在尝试使用 JS 创建一个多维数组 以便我可以通过 Ajax 调用 PHP 来发布一些数据 这可能很简单 但我对 JS 的了解很少关于这个具体的事情 这是带有代码的 JSFiddle http jsfiddle net k5Q3p 我想
  • 从 C 数组中删除大量元素的最快方法

    我有包含数千个甚至更多元素的动态数组 为了不消耗大量内存 我可以从中删除不需要的元素 即元素已被使用 不再需要它们 所以从一开始我可以通过估计每次删除元素后所需的最大大小来分配较小的内存大小 我用这个方法但是需要很长很长的时间才能完成 有时
  • 3D 数组到 3D std::vector

    我在代码函数中用 3D std vector 替换了 3D 数组 它进入了无限循环 你能给我一个提示吗 我真的需要使用向量而不是数组 谢谢 我最初的代码是 arr is a 3D array of a sudoku table the 3
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 如何获得n个具有不同元素数量的数组的所有可能组合?

    我有一些在编程时未知的数组数量 也许是 3 或 4 或 7 每个数组都有一些元素 即 a 1 2 3 4 b 6 7 5 2 1 c 22 4 6 8 4 8 5 4 d e f g 我想通过从每个数组中采样一个数字来获得所有可能的组合 例
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得

随机推荐

  • React - 表单提交后清除输入值

    我遇到了一个相当愚蠢的问题 我正在创建我的第一个 React 应用程序 并且遇到了一个小问题 在提交表单后我无法清除我的输入值 尝试用谷歌搜索这个问题 在这里找到了一些类似的线程 但我无法解决这个问题 我不想更改组件 应用程序的状态 只是将
  • 加载多个.dta 文件

    我有一个包含超过 500 个 dta 文件的文件夹 我想将其中一些文件加载 到单个 R 对象中 我的 dta 文件有一个由四个部分组成的通用名称 两个字母 四个数字 y dta 例如 名称可以是 de2015y dta 或 fr2008y
  • 急切执行:梯度计算

    我想知道为什么这个非常简单的梯度计算不能正常工作 它实际上是生成一个 None None 向量 显然 这不是期望的输出 import tensorflow as tf tf enable eager execution a tf const
  • 如何从应用程序内部检测 JVM 垃圾收集周期?

    我只是想知道是否有一种方法可以从正在 gc 的代码 JVM 中检测垃圾收集周期 时机不起作用 因此 事件发生在实际周期之前还是之后并不重要 在周期期间发生事件似乎不太可能 而且也可能很危险 具体取决于所使用的 GC 实现 我能找到的只是可以
  • shuffle阶段和combiner阶段有什么区别?

    我对 MapReduce 框架很困惑 我从不同的来源读到了这方面的内容 感到很困惑 顺便说一句 这是我对 MapReduce 作业的想法 1 Map gt emit
  • SQL:查询的默认排序依据是什么?

    没有时查询的默认顺序是什么ORDER BY用来 不存在这样的命令 取自没有 ORDER BY 子句的 SELECTS 的默认排序顺序是什么 http forums mysql com read php 21 239471 239688 ms
  • 如何使 waitForWebPageToLoad 在编码的 ui 测试中工作?

    首先 我是编码 ui 测试的初学者 我的代码技能很差 但我正在努力学习 现在我正在 Visual Studio 中手工编写一些测试用例 C 记录选项对我来说还不够 但我无法得到waitForWebPageToLoad上班 例如下面的例子 我
  • 在 ViewPager 滑动时显示/隐藏 FloatingActionButton

    我的活动有 3 个选项卡 每个选项卡页面都是一个显示 RecyclerView 的片段 其中一个片段中有 FloatingActionButton 我正在片段的布局中实现此按钮 我还在片段的右下角将其设为静态 片段布局 Coordinato
  • 使用八度无头

    是否有可能使用 Octave 无头 像这样的东西 octave lt 5 4 gt result txt Using octave silent eval 5 4 gt result txt 你会得到 ans 9 in result txt
  • 是否可以在CSS中设置img标签的src属性?

    是否可以设置srcCSS 中的属性值 大多数情况下 我们这样使用它 img src pathTo myImage jpg 我希望它是这样的 img class myClass myClass some src property url pa
  • Newtonsoft.Json.DeserializeObject 抛出什么异常?

    Newtonsoft Json DeserializeObject 抛出什么异常 我想处理他们 http james newtonking com json help topic html M Newtonsoft Json JsonCon
  • GIT:根文件夹中存在 CRA 应用程序,我如何正确推送到 git?

    我对 git 很陌生 这可能是一个愚蠢的问题 但我真的不知道如何解决这个问题 我一直在努力寻找答案 但我找不到 我试图使用 React js 和 Node js 创建我的项目 我创建了从 npx create react app clien
  • 存储用户设置 - 使用“标志”或“位”而不是一堆布尔值有什么问题吗?

    我正在为我的 MVC 应用程序设计用户设置 现在我有大约 20 个用户可以切换的布尔设置 由于每个用户总是拥有每个设置 因此我正在考虑将每个设置存储为用户表中的布尔值 尽管随着应用程序需求的增长 这会变得笨拙 第一个问题 在这种情况下 表上
  • Swift-删除推送通知徽章号码?

    我试图快速删除图标徽章 但 PFInstallation 似乎不再起作用 我该怎么做呢 您可以通过将应用程序徽章图标设置为 0 来 删除 它 斯威夫特 UIApplication sharedApplication applicationI
  • 我可以在 emberjs 中为视图提供显示动画吗

    这是使用 emberjs 路由器的示例http jsbin com agameq edit http jsbin com agameq edit 现在我想要一些显示动画 例如当路线更改时淡入或淡出 我应该怎么办 Every View在 em
  • 选择 Apache Hive 中是否存在表

    我有一个配置单元查询 其格式如下 select from table1 left join select from table2 on some condition The table2根据环境的不同 可能不存在 因此 如果仅存在 tabl
  • MIPS $gp 寄存器

    使用有危险吗 gp注册来存储一个值 我想我的问题是真正的功能是什么 gp它是否以某种方式在幕后被调用 以便如果我使用它 事情可能会变得非常非常错误 好吧 gp 寄存器指向全局区域 习俗 http en wikipedia org wiki
  • 文件中的修改历史记录

    我曾在一些没有使用源代码管理的地方工作过 他们似乎养成了在更改的代码周围添加注释来解释更改的习惯 以便可以恢复事情 我发现这使得代码非常难以阅读 并且相当坚定地认为在引入源代码控制之后不需要这样的注释 因为修订历史记录将让您将票证与更改相匹
  • 在Android中将电话号码格式化为E164格式

    我想将设备中联系人的每个电话号码转换为 E 164 格式 所以 我在下面使用了开源 库电话号码 https github com googlei18n 所以我像这里一样使用它 Phonenumber PhoneNumber formatte
  • linspace 相对于冒号“:”运算符的优点是什么?

    写作有什么好处吗 t linspace 0 20 21 over t 0 1 20 我知道前者产生一个向量 就像第一个一样 谁能告诉我一些情况linspace有用过t 0 1 20 这不仅仅是可用性 尽管文档说 The linspace函数