小编Gac*_*cek的帖子

如何为伪随机数生成器设置自定义种子

我需要执行一些测试,其中我使用randn伪随机数生成器.我怎样才能自己设置种子,所以每次运行这个测试我都会得到相同的结果?(是的,我知道这有点奇怪,但那就是问题).

我找到了RANDSTREAM具有该seed属性的对象,但它是只读的.有没有办法用它来播种发电机?

random matlab

23
推荐指数
2
解决办法
5万
查看次数

如何模拟OutOfMemory异常

我需要重构我的项目,以使其免受OutOfMemory异常的影响.

我的项目中使用了大量的集合,通过更改一个参数,我可以使我的程序更准确或使用更少的内存......

好的,那就是背景.我想做的是在循环中运行例程:

  1. 使用默认参数运行子例程.
  2. 捕获OutOfMemory异常,更改参数并尝试再次运行它.
  3. 执行第二点,直到参数允许运行子例程而不抛出异常(通常,只需要进行一次更改).

现在,我想测试一下.我知道,我可以OutOfMemory自己抛出异常,但我想模拟一些真实的情况.

所以主要的问题是:
有没有办法为我的程序设置某种内存限制,在达到OutOfMemory异常后会自动抛出?
例如,我想设置一个限制,假设我的整个程序有400MB的内存来模拟系统中有这么多可用内存的情况.
可以吗?

c# simulation memory-management out-of-memory

19
推荐指数
4
解决办法
6546
查看次数

如何避免OrderBy - 内存使用问题

假设我们有一个大的点列表List<Point> pointList(已经存储在内存中),其中每个点都Point包含X,Y和Z坐标.

现在,我想选择N%的点,其中存储的所有点的Z值最大pointList.现在我这样做:

N = 0.05; // selecting only 5% of points
double cutoffValue = pointList
    .OrderBy(p=> p.Z) // First bottleneck - creates sorted copy of all data
    .ElementAt((int) pointList.Count * (1 - N)).Z;

List<Point> selectedPoints = pointList.Where(p => p.Z >= cutoffValue).ToList();
Run Code Online (Sandbox Code Playgroud)

但我有两个内存使用瓶颈:首先是在OrderBy期间(更重要),第二是在选择点时(这不太重要,因为我们通常只想选择少量的点).

是否有任何方法可以用更少内存的东西替换OrderBy(或者可能是其他方式找到这个截止点)?

这个问题非常重要,因为LINQ会复制整个数据集,对于我正在处理的大文件,它有时会达到几百MB.

c# linq memory sql-order-by

18
推荐指数
2
解决办法
2821
查看次数

在虚拟机下编程 - 优点和缺点

我是Ubuntu Linux用户,我仅将Win XP用于工作目的.

最近我用XP + Visual Studio 2008(由kvm-quemu驱动)设置了一个虚拟机.

我的问题是:

  • 有没有人试图在VM上设置的环境下高效工作?有任何性能问题吗?例如,VM下的性能稍差会影响您的正常效率吗?

  • 在VM下开发软件还有其他(除了性能)负面影响吗?在这样的环境中,我是否会遇到任何无法检测/解决的问题?(我们正在谈论开发某种更大的项目,为Win环境创建应用程序,没有硬件相关或嵌入的东西).

virtual-machine

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

用于在Matlab中平滑图像的均值滤波器

我需要在Matlab中测试一些基本的图像处理技术.我需要测试和比较两种类型的滤波器:均值滤波器和中值滤波器.

为了使用中值滤波来平滑图像,medfilt2图像处理工具箱具有很好的功能.平均滤波器有类似的功能吗?或者如何使用该filter2函数创建均值滤波器?

对我来说最重要的事情之一是有可能设置过滤器的半径.即中位滤波器,如果我想要[3 x 3]半径(掩模),我只是使用

imSmoothed = medfilt2(img, [3 3]);
Run Code Online (Sandbox Code Playgroud)

我想为平均过滤器实现类似的东西.

matlab filtering image-processing

15
推荐指数
3
解决办法
11万
查看次数

在MATLAB中介绍矢量化 - 任何好的教程?

我正在寻找关于MATLAB中矢量化(循环)的任何好教程.

我有非常简单的算法,但它使用两个for循环.我知道向它进行矢量化应该很简单,我想学习如何做而不是要求你提供解决方案.

但是为了让你知道我有什么问题,所以你可以建议最好的教程,展示如何解决类似的问题,这是我的问题的大纲:

B = zeros(size(A));    % //A is a given matrix.
for i=1:size(A,1)
   for j=1:size(A,2)
      H = ... %// take some surrounding elements of the element at position (i,j) (i.e. using mask 3x3 elements)
      B(i,j) = computeSth(H); %// compute something on selected elements and place it in B
   end
end
Run Code Online (Sandbox Code Playgroud)

所以,我不是要求解决方案.我要求一个很好的教程,在MATLAB中矢量化循环的例子.我想学习如何做,并自己做.

matlab loops vectorization

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

jQuery post fail callback不显示代码400的响应

我有一个以下的jQuery帖子请求:

$.post("ajax.php", data).done(
    function(response){
        // do something when response is ok
     }
   ).fail(
    function(response){
          $("#error").html(response);
     }
 );
Run Code Online (Sandbox Code Playgroud)

在我的ajax.php文件出现问题时,我返回HTTP响应代码400,并带有一条消息:

header("HTTP/1.0 400 Error");
echo "Some error message";
exit();
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中检查错误调用的响应时,我可以看到状态代码Status Code:400 Bad Request和我在错误消息中传递的响应文本.但是jQuery的.fail回调并没有显示我的response.

如何访问失败/错误响应文本?

编辑

我测试了我的代码,并且.fail正在触发回调,我只是无法显示响应消息.

ajax jquery post httpresponse

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

增量计算大量数据的分位数的方法

我需要计算大量数据的分位数.

假设我们只能通过某些部分(即大矩阵的一行)获取数据.要计算Q3分位数,需要获取数据的所有部分并将其存储在某处,然后对其进行排序并计算分位数:

List<double> allData = new List<double>();
// This is only an example; the portions of data are not really rows of some matrix
foreach(var row in matrix) 
{
    allData.AddRange(row);
}

allData.Sort();
double p = 0.75 * allData.Count;
int idQ3 = (int)Math.Ceiling(p) - 1;
double Q3 = allData[idQ3];
Run Code Online (Sandbox Code Playgroud)

我想找到一种获得分位数的方法,而不将数据存储在中间变量中.最好的解决方案是计算第一行中间结果的一些参数,然后逐步调整下一行.

注意:

  • 这些数据集非常大(每行约5000个元素)
  • 可以估计Q3,它不必是精确值.
  • 我将数据部分称为"行",但它们可以有不同的长度!通常它变化不大(+/-几百个样本),但它会有所不同!

这个问题类似于"在线"(迭代器)算法,用于估计统计中位数,模式,偏度,峰度,但我需要计算分位数.

此外,本主题中的文章很少,即:

在尝试实现这些方法之前,我想知道是否有其他更快的方法来计算0.25/0.75分位数?

algorithm statistics numerical-methods quantile

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

如何分析项目中的内存使用情况

是否有任何好的,免费的工具来分析C#中的内存使用情况?

细节:
我有一个使用相当大的集合的可视化项目.我想检查这个项目的哪些部分 - 在数据处理方面,或在可视化方面 - 使用大部分内存,所以我可以优化它.
我知道,当谈到计算集合的大小时,情况非常简单,我可以自己做.但也有一些元素,我无法轻易估计内存使用情况.
内存使用量非常大,例如处理大小为35 MB的文件,我的程序使用的内存略多于250 MB.

c#

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

在MATLAB中创建最大值索引矩阵

使用MATLAB,我有一个大小为8行x N列的值数组.我需要创建一个相同大小的矩阵,它计算每列中的最大值,并在包含最大值的单元格中放置1,在其他地方放置0.

一个小例子.让我们假设我们有一个值数组D:

    D =
      0.0088358   0.0040346   0.40276     0.0053221
      0.017503    0.011966    0.015095    0.017383
      0.14337     0.38608     0.16509     0.15763
      0.27546     0.25433     0.2764      0.28442
      0.01629     0.0060465   0.0082339   0.0099775
      0.034521    0.01196     0.016289    0.021012
      0.12632     0.13339     0.11113     0.10288
      0.3777      0.19219     0.005005    0.40137
Run Code Online (Sandbox Code Playgroud)

然后,这种矩阵D的输出矩阵将是:

    0    0    1    0
    0    0    0    0
    0    1    0    0
    0    0    0    0
    0    0    0    0
    0    0    0    0
    0    0    0    0
    1    0    0    1
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有从max函数中捕获索引的向量然后使用for循环将其放在正确的位置?

matlab max matrix

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