问题标签 [n-dimensional]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
399 浏览

python - n维矩阵乘法python

我正在用 Python 做一个程序,它将用户输入的维度的两个矩阵相乘。我遇到的问题是用户必须在输入中为每一行输入值,而我的程序只能为每个输入获取一个值。我尝试过使用 .split () 但是当它执行乘法时,会向我发送此错误:

TypeError:不能将序列乘以“list”类型的非-int。

我的代码是:

0 投票
1 回答
710 浏览

julia - Julia中有计算N维凸包的函数吗?

这样的功能还存在吗?如果是这样,我在哪里可以找到它?

基本上,我正在寻找 Matlab 的 convhulln() 函数的等价物。它将一个数据集(具有 N 维)作为其输入,并返回属于该数据空间的凸包的数据点。

0 投票
1 回答
1422 浏览

python - Python中分散数据的3个变量的样条插值?

换句话说,我得到了一组与值 b 相关联的数据点 (x,y,z),我想尽可能准确地插入这些数据。scipy.interpolate.griddata 只能做线性插值,其他选项是什么?

0 投票
3 回答
1179 浏览

python - 使用 NumPy 查找所有 n 维直线和对角线

使用 NumPy,我想生成一个长度为 k 的 n 维数组的所有线和对角线的列表。


以下面长度为 3 的三维数组为例。

对于这种情况,我想获得以下所有类型的序列。对于任何给定的情况,我想获得每种类型的所有可能序列。对于每种情况,所需序列的示例在下面的括号中给出。

  • 一维线
    • x 轴 ( 0, 1, 2)
    • y 轴 ( 0, 3, 6)
    • z 轴 ( 0, 9, 18)
  • 二维对角线
    • x/y 轴 ( 0, 4, 8, 2, 4, 6)
    • x/z 轴 ( 0, 10, 20, 2, 10, 18)
    • y/z 轴 ( 0, 12, 24, 6, 12, 18)
  • 3D 对角线
    • x/y/z 轴 ( 0, 13, 26, 2, 13, 24)

该解决方案应该是通用的,以便它将生成数组的所有线和对角线,而不管数组的维数或长度(在所有维度上都是恒定的)。

0 投票
0 回答
64 浏览

c++ - c ++中蒙特卡洛N维积分中绝对值的意外偏差

我用 C++ 为蒙特卡洛的积分编写了代码,当我使用二维积分时,它与我的其他函数配合得很好。我概括了 N 维积分的代码,在这种特殊情况下,我取 n = 10。我试图整合一个简单的函数 f = x1+x2+x3+x4+x5+....+x10 其中,x1。 ...x10 在限制 [-5.0, 5.0] 内。当我知道绝对结果应该为 0 时,我发现结果存在很大偏差。如果有人好心地查看我的代码并找出我的代码在哪里中断,我将不胜感激。我附上代码如下:

我得到的输出是这样的:

这与我的预期输出零相差无几。请帮我修复代码并提前感谢。

0 投票
1 回答
325 浏览

python - 任意维数组中任意维坐标的笛卡尔积

这与Numpy 有点相关:x 和 y 数组点的笛卡尔积到 2D 点的单个数组中

我正在寻找一种简洁的方法来创建具有任意维度的两个数组的笛卡尔积。

例子:

类似于相关线程,我想要

结果数组是二维的,因为 [1, 4]、[2, 4] 等是坐标,因此不是真正的维度。概括地说,最好将 x/y 写成 [[1], [2], [3]]。

以上等于

但我也想要

可视化我正在尝试做的事情:正如我所说, [[0, 0], [0, 1], [1, 1], [1, 0]] 应该被解释为一维坐标列表,它对应于一条线。如果我然后用 [1, 2, 3, 4] 做一个笛卡尔积,我会在 z 方向上挤压这条线,变成一个表面(即二维)。但现在数组当然是 3 维的。

我想我可以用循环来解决这个问题,但是有没有办法用 numpy/scipy 工具来实现呢?

0 投票
2 回答
738 浏览

c++ - 类的 C++ 矩阵(指针的指针)

所以我在 C++ 中遇到了一些问题(我的第一个编程语言是 C)。

假设我有以下课程:

2个标题(矩形和网格,假设点类很好,另一个假设是我们目前不需要打印功能)

网格.h

矩形.h

和2个cpp:

矩形.cpp

网格.cpp

(假设我们不需要其他 Grid 函数并且构造函数没有完成)。
现在我要做的是,在 Grid.cpp 构造函数中,我试图动态分配数组数组,但我无法理解 cpp 中类的内存分配背后的逻辑。如果有人可以向我解释 cpp 中的“新”功能如何在类和 n 维数组(类和一般情况下)上发挥作用,我将不胜感激。

我希望你能理解我在这里遇到的问题。

提前致谢。

0 投票
3 回答
207 浏览

c++ - C++私有类动态n维数组

我一直在 StackOverlow 周围寻找答案,但我没有找到答案,所以我希望这不是这里任何帖子的重复。

所以,我有下一个问题。
假设我有接下来的 2 个类:Rectangle(它是从另一个类构建的,但它目前不关心我们)和Grid。他们跟随构造函数:

(矩形私有 topLeft 和 bottomRight 的点构造函数):

(矩形构造函数和类)

(网格构造函数和类)(假设我不想在网格中初始化 Rectangle 的值,只是将它们分配到内存中)

所以,正如你所理解的,我在 Grid 构造函数中遇到了以下错误
(错误 1 ​​错误 C2512:'矩形':没有合适的默认构造函数可用。)
但我只是不明白为什么它不起作用,我被建议分配Recs 双指针作为一维数组(长度为 Width*Height 的数组)但是如果 Recs 是 4 维数组呢?你怎么能正确地把它展平,然后在 4 维数组周围进行索引,而不用为计算数组中每个单元格的索引而头疼。

另一件事,我们知道如果它是 int** 而不是 recs** 它将完美地工作

所以我只是一直想念在 C++ 中做 n 维数组的方式。

0 投票
0 回答
118 浏览

c++ - 使用 CGAL 三角剖分获得 d 维凸包

正如标题所示,我需要计算多个 d 维点的凸包(其中点的数量通常约为 20,d 约为 50)。我花了大约一天的时间阅读文档并搜索网络,但似乎所有内容都已过时(仍在使用 conve_hull_d),或者仅涉及尺寸 <= 3。

文档站点从“dD Convex Hulls and Delaunay Triangulations”重定向到“dD Triangulation”。我的问题是我在那里找不到凸包检索功能的简单实现。虽然我很确定这很可能在 1 行代码中完成。

如何使用 CGAL 计算 d 维凸的凸包?

0 投票
2 回答
171 浏览

matlab - Matlab/Octave:如何在没有 eval 的情况下编写 n 维零填充算法

我想编写一个“语法糖”Octave 或 Matlab 零填充函数,用户向其发送一个 n 维对象和一个 <= n 条目的向量。向量包含对象的新的、相等的或更大的维度,并且对象被零填充以匹配这些维度。任何未指定的尺寸都将单独保留。一种预期用途是,例如,给定 3d 医学图像体积的 5d 块 X,我可以调用

因此将前三个维度填充为 2 的幂以进行小波分析(实际上我使用单独的函数 nextpwr2 来查找这些维度),同时保留其他维度。

我已经绞尽脑汁想如何编写这种方法来避免可怕的评估,但到目前为止还没有找到方法。任何人都可以提出解决方案吗?这或多或少是我所拥有的: