小编db1*_*234的帖子

在单个机器上的Octave中并行计算 - 包和示例

我想在一台机器上(而不是集群)并行化Octave中的for循环.我问了一个关于Octave的并行版本的问题,前一段时间是八度 并行计算

答案建议我下载一个并行计算包,我做了.该软件包似乎主要面向集群计算,但它确实提到了单机并行计算,但还不清楚如何运行并行循环.

我还发现了另外一个关于这个问题的问题,但是我没有找到一个很好的答案来在Octave中并行化循环: 运行与Octave并行的循环部分?

有谁知道我在哪里可以找到在Octave中并行运行for循环的例子???

parallel-processing octave

11
推荐指数
2
解决办法
1万
查看次数

绘制不是函数图形的3D表面

我有一个表面的3D数据集,它不是函数的图形.数据只是3D中的一堆点,我唯一能想到的就是尝试scatter3使用Matlab. Surf因为表面不是函数的图形,所以不起作用.

使用scatter3给出了不太理想的结果,因为没有任何类型的透视/阴影.

有什么想法吗?它不一定是Matlab,但这是我绘图的首选来源.

要了解我的表面类型,请考虑以下四个图像: 在此输入图像描述

第一个是3D等高线图,第二个是轮廓的平面{z = 1.8}中的切片.我的目标是拿起所有的红色区域.我有一个方法为每个切片执行此操作{z = k}.这是第三个情节,我喜欢我在这里看到的很多东西.

在z给出这个迭代将给出一个表面,这是第四个图,这有点嘈杂(虽然我有减少噪音的想法......).如果我使用没有轮廓的scatter3绘制黑色表面,我得到的是一个黑色无法区分的斑点,但是对于每个切片我得到一条平滑的曲线,我注意到当我调整z时曲线变化非常平滑.

一些微调会给出一个更好的第四个图,但是,即使我得到第四个图完全没有噪声,结果使用scatter3将是一个黑色难以理解的斑点,当单独绘制而不是在顶部3D轮廓.我想得到一张漂亮的图片,它没有在3D等高线图上绘制完整的表面****

****事实上,只是为了比较和显示scatter3表面有多糟糕,即使你在球体上有精确的点并使用scatter3结果将是一个黑色的斑点,甚至看起来不像一个球体****

POV-Ray可以处理这个吗?我从来没用过它......

matlab plot povray

8
推荐指数
1
解决办法
1438
查看次数

查找二维数据集的区域

我有一个.txt文件,在2-D平面上有大约100,000个点.当我绘制点时,有一个明确定义的二维区域(想象一下已经变形了一点的二维光盘).

计算该地区面积的最简单方法是什么?在Matlab中轻松做任何事情?

我通过在区域的边界上找到一堆(如40个)点并在Matlab中计算多边形区域的区域来进行多边形近似,但我想知道是否存在另一种不那么繁琐的方法而不是在边界上找到40个点.

algorithm matlab computational-geometry

6
推荐指数
2
解决办法
2095
查看次数

Matlab(或Octave)中的meshgrid矢量化

Matlab中的矢量化代码比for循环运行得快得多(参见单机上Octave中的并行计算 - 封装和 Octave中具体结果的示例)

话虽如此,有没有办法对Matlab或Octave中显示的代码进行矢量化?

x = -2:0.01:2;
y = -2:0.01:2;
[xx,yy] = meshgrid(x,y);
z = sin(xx.^2-yy.^2);
Run Code Online (Sandbox Code Playgroud)

parallel-processing matlab vectorization octave

5
推荐指数
3
解决办法
4062
查看次数

在C中保存多维数组

我之前A使用.mat文件将多维数组保存在Matlab中(例如,大小为100x100x100 的数组),并且效果很好。

在C中保存此类多维数组的最佳方法是什么?我能想到的唯一方法是将其存储为2D数组(例如,将KxNxM数组转换为KNxM数组),并在记住其保存方式时要小心。

还需要以一种可以稍后在Matlab中打开以进行后处理/绘图的方式保存它。

c arrays matlab save multidimensional-array

2
推荐指数
1
解决办法
2732
查看次数

将变换应用于等值面的面/顶点并绘制结果

如果我在Matlab中获得了轮廓

 [f, v] = isosurface(x, y, z, v, isovalue)
Run Code Online (Sandbox Code Playgroud)

是否有一种干净的方法将变换应用于曲面并很好地将结果绘制为光滑的表面?转变T是非线性的.

我试图将转换T应用于两者f并且vert使用patch但不能完全使用它.

3d matlab plot contour volume-rendering

2
推荐指数
1
解决办法
1382
查看次数

提取 avro 架构

类似于这个问题 How to extract schema for avro file in python 有没有办法在不事先知道架构的情况下读取golang中的avro文件并提取架构?

go avro

2
推荐指数
1
解决办法
1313
查看次数

Matlab中parfor循环的一个具体例子,它优于for循环

我对Matlab中的并行计算还有点新意.我成功地在C中使用了OpenMP,但在Matlab中无法获得更好的性能.

首先,因为我是一个我不熟悉的大学的机器,所以我通过输入ver命令提示符验证我所在的机器有Parallel Computing Toolbox 并显示: Parallel Computing Toolbox Version 5.2 (R2011b).请注意,该机器有4个核心

我尝试了使用parforvs.的简单示例for,但for总是赢了,尽管这可能是因为开销成本.我正在做一些简单的事情,比如这里的例子:MATLAB parfor慢于 - 出了什么问题?

在尝试将parfor应用于我更大的更复杂的程序之前(我需要计算500个函数的评估,每个评估需要大约一分钟,所以并行化将在这里有所帮助),我非常希望看到一个具体parfor节点的节拍示例for..OpenMP的例子非常丰富,但没有找到一个简单的例子,我可以复制和粘贴那个节目parforfor

parallel-processing performance matlab for-loop

1
推荐指数
1
解决办法
8127
查看次数

C(或Fortran)中的3D插值方法,以及与Shepard方法的比较

我想插入一个3D标量函数f(x, y, z).我编写了一个3D线性插值算法(http://en.wikipedia.org/wiki/Trilinear_interpolation).这并不是那么糟糕.

但是,我想要更复杂的东西,例如3D立方样条.是否有任何开源的,易于使用的公开代码可用于插入3D标量?我更喜欢使用C,但Fortran也可以.我想远离Matlab.

我在这里看到类似的问题:

插值3D空间中的标量场

什么是3D插值的好库?

第二个是Matlab,但我不是.

至于第一个,主要的建议是谢泼德的方法.我很好奇Shepard的方法是多么准确.例如,在均匀网格的情况下,可以将Shepard方法仅应用于附近的网格点,在这种情况下,它是否比线性插值或三次样条更准确?我想象不是,但不是100%肯定,如果实际上并不是更好,那么如果有任何这样的代码,我宁愿使用类似样条的代码来查找代码.

c interpolation

1
推荐指数
1
解决办法
1万
查看次数