小编And*_*ein的帖子

用C C++测试代码

我不知道你们每次编写代码以及不同级别的测试时如何测试代码:单元测试,集成测试,......

例如,对于刚编写的函数的单元测试,你是否编写了另一组main函数和Makefile来测试它?或者您是否修改项目的主要功能以测试功能.或者你只是在调试下运行你的项目,并停止调用函数的位置并修改其参数的值?

我相信一定有一些方便和常见的方式,大多数人都在使用,只有我不知道.

c c++ testing

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

如何重命名目录?

如何在Ruby中重命名目录?
我看到如何重命名单个文件,但不重命名文件夹.

ruby file-io

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

是否有可能通过在matlab中调用c/c ++代码来加速matlab绘图?

mex在Matlab中调用文件(用c/c ++编写)通常很容易加速某些计算.然而,根据我的经验,Matlab的真正瓶颈是数据绘图.创建句柄非常昂贵,即使您只更新句柄数据(例如,XData,YData,ZData),这可能需要很长时间.更糟糕的是,由于Matlab是一个单线程程序,因此不可能同时更新多个图.

因此我的问题:是否有可能编写一个Matlab GUI并调用C++(或其他一些可并行化的代码)来处理绘图/可视化?我正在寻找一个可以在Windows,Mac和Linux上运行的跨平台解决方案,但任何让我开始使用任何操作系统的解决方案都非常感谢!

我找到了一个似乎使用Matlab 语法的C++库,plot()但我不确定这是否会加快速度,因为我担心如果我在Matlab的figure()窗口中绘图,事情可能会再次放慢速度.

我很感激以前处理过这种情况的人的任何意见和反馈!

编辑:显然,我已经描述了我的代码,瓶颈是绘图(十几个包含大量数据的面板).

EDIT2:为了获得赏金,我需要一个真实的生活,最简单的工作实例如何做到这一点 - 暗示性的答案对我没有帮助.

EDIT3:关于要绘制的数据:在最简单的情况下,考虑20个线图,需要每秒更新一次,如1000000个数据点.

编辑4:我知道这是一个巨大的积分,但我从来没有说过这个问题很简单.我不能忽略某些数据点,因为在实际绘制它们之前无法评估哪些点是重要的(数据采样时间为亚毫秒时间分辨率).事实上,我的数据是使用商业数据采集系统获得的,该系统附带数据查看器(用c ++编写).该程序可以直观地显示多达60个线图,甚至超过1000000个数据点.

编辑5:我不喜欢当前讨论的目的.我知道对我的数据进行二次采样可能会加快速度 - 然而,这不是问题所在.这里的问题是如何让ac/c ++/python/java接口与matlab一起工作,以期通过直接与硬件交谈(或使用任何其他技巧/方式)加快绘图速度

c++ matlab plot matlab-figure

14
推荐指数
2
解决办法
4792
查看次数

JDK 1.7 Throwable`addSuppressed()`方法

好吧,我通过相关问题,我阅读了JDK 1.7的源代码,但我找不到答案.

在这个问题中,我想完全忽略fillInStackTrace.

从JDK 1.4 initCause()开始,添加了方法.例如,当您使用核心反射来调用该方法时,您会收到InvocationTargetException,其中包含具有目标异常的原因.

当我看到这个功能时,我也开始在这样的场景中使用它

    try {
        //contains some code that can throw new IOException();
    }
    catch(IOException e){
        throw new RuntimeException(e);
    }
Run Code Online (Sandbox Code Playgroud)

所以,我抓住了一个异常,我还没准备好在这里处理它并且我重新抛出新的异常,其中我有原始异常作为原因.在一些scenarious而不是RuntimeException,但我的自定义异常被使用,所以有时我也调用e.getCause(),以便在外部块中正确处理此异常.

这是JDK 1.7之前的情况.我应该何时何地使用addSuppressed()?我应该将上面的代码更改为

    try {
        //contains some code that can throw new IOException();
    }
    catch(IOException e){
        RuntimeException re= new RuntimeException(e.getMessage());
        re.addSuppressed(e);
        throw re;
    }
Run Code Online (Sandbox Code Playgroud)

作为奖励问题,为什么不addSuppressed()返回Throwable作为initCause()确实允许throw (RuntimeException)new RuntimeException().initCause(e);?例如,为什么我不能这样做?:

    try {
        //contains some code that can throw new IOException();
    }
    catch(IOException e){
        throw …
Run Code Online (Sandbox Code Playgroud)

java jvm exception java-7

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

Google Cloud - 计算引擎与机器学习

有谁知道使用Google Cloud Machine Learning与Google Cloud Engine中的虚拟机实例相比有什么区别?

我正在使用Keras和Python 3并且感觉GML更受限制(使用python 2.7,旧版本的TensorFlow,必须遵循给定的结构......).我猜他们在GCE中使用GML而不是VM的好处,但我想知道它们是什么.

python machine-learning google-compute-engine tensorflow google-cloud-ml-engine

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

交换行和列

我需要一个MATLAB函数,它将在任意大小的矩阵中互换2行或2列.

arrays matlab

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

将矩阵中的值替换为其他值

我有一个整数矩阵,我需要用-5替换2的所有外观.最有效的方法是什么?我按照下面的方式制作,但我相信有更优雅的方式.

a=[1,2,3;1,3,5;2,2,2]
ind_plain = find(a == 2)
[row_indx col_indx] = ind2sub(size(a), ind_plain)
for el_id=1:length(row_indx)
    a(row_indx(el_id),col_indx(el_id)) = -5;
end
Run Code Online (Sandbox Code Playgroud)

而不是循环II寻找类似的东西:a(row_indx,col_indx)= -5,这是行不通的.

matlab matrix

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

在没有转义字符的C++中定义std :: string

输入未转义的字符序列最简单的方法是std::string什么?

代替

 std::string st = "C:\\program files\\myFile.txt";
Run Code Online (Sandbox Code Playgroud)

类似于:(由于转义字符而无法正常工作).

 std::string st = "C:\program files\myFile.txt";
Run Code Online (Sandbox Code Playgroud)

c++ string escaping

12
推荐指数
2
解决办法
9736
查看次数

提高准确性OpenCV HOG人体探测器

我在一个项目中工作.项目的一部分包括将OpenCV的HOG人物检测器与摄像机流式传输相结合.

目前,它正在使用相机和基本的HOG检测器(CPP detectMultiScale - > http://docs.opencv.org/modules/gpu/doc/object_detection.html).但是不能很好地工作......检测非常噪音,算法不是很准确......

为什么?

我的相机图像是640 x 480像素.

我正在使用的代码片段是:

std::vector<cv::Rect> found, found_filtered;
cv::HOGDescriptor hog;
hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetector());
hog.detectMultiScale(image, found, 0, cv::Size(8,8), cv::Size(32,32), 1.05, 2);
Run Code Online (Sandbox Code Playgroud)

为什么不能正常工作?什么需要提高准确性?是否需要一些特定的图像尺寸?

PS:你知道一些精确的人检测算法,更快,并在cpp中发展?

c++ opencv detection

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

从开始/结束索引列表创建矢量化数组

我有一个双列矩阵M,包含一堆间隔的开始/结束索引:

startInd   EndInd
1          3
6          10
12         12
15         16
Run Code Online (Sandbox Code Playgroud)

如何生成所有区间索引的向量:

v = [1 2 3 6 7 8 9 10 12 15 16];
Run Code Online (Sandbox Code Playgroud)

我正在使用循环进行上述操作,但我想知道是否有更优雅的矢量化解决方案?

v = [];
for i=1:size(M,1)
    v = [v M(i,1):M(i,2)];
end
Run Code Online (Sandbox Code Playgroud)

matlab vectorization

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