小编And*_*nke的帖子

BLAS,LAPACK和ATLAS之间有什么关系

我不明白BLAS,LAPACK和ATLAS是如何相关的以及我应该如何一起使用它们!我一直在查看他们的所有手册,我对BLAS和LAPACK以及如何在我找到的极少数示例中使用它们有了一般概念,但我找不到任何使用ATLAS的实际示例来查看它与这两个.

我正在尝试对矩阵做一些低级别的工作,我的主要语言是C.首先我想使用GSL,但它说如果你想要最好的性能,你应该使用BLAS和ATLAS.有没有什么好的网页提供一些很好的例子,说明如何一起使用这些(在C中)?换句话说,我正在寻找使用这三个(或其中任何一个子集!)的教程.总之我很困惑!

c blas lapack atlas

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

Gradle,"sourceCompatibility"与"targetCompatibility"?

sourceCompatibility和之间有什么关系/区别targetCompatibility?当它们被设置为不同的值时会发生什么?

根据Gradle文档:

sourceCompatibility是"编译Java源时使用的Java版本兼容性". targetCompatibility是"为Java生成类的Java版本."

我的理解是,targetCompatibility将生成与特定版本的Java兼容的java字节码,这是一个功能的子集sourceCompatibility吗?

java gradle

116
推荐指数
3
解决办法
7万
查看次数

提示brew doctor时出现现有的配置脚本

我对Homebrew和Anaconda安装完全不熟悉,我希望有人能在执行brew医生后帮我解决问题.我正在使用Snow Leopard 10.6.8.警告如下:

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

    /Users/user.name/anaconda/bin/freetype-config
    /Users/user.name/anaconda/bin/libpng-config
    /Users/user.name/anaconda/bin/libpng15-config
    /Users/user.name/anaconda/bin/llvm-config
    /Users/user.name/anaconda/bin/python-config
    /Users/user.name/anaconda/bin/python2-config
    /Users/user.name/anaconda/bin/python2.7-config
    /Users/user.name/anaconda/bin/xml2-config
    /Users/user.name/anaconda/bin/xslt-config
Run Code Online (Sandbox Code Playgroud)

我执行了brew …

macos configuration homebrew path

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

如何获取Java堆的内存地址?

如何确定当前进程中运行的JVM的Java堆内存地址?也就是说,使用Java,C或其他调用获取一个void*指针或等效于JVM为堆分配的内存的连续区域?

Matlab在其进程中嵌入了JVM.JVM分配的内存对于Matlab数组是不可用的,而且这一点很重要,因为它占用了大量连续的内存并且从不收缩,而Matlab也需要连续的内存用于其数组.如果在扩展期间重新分配堆,则可能导致碎片.

我想检查我的进程来检查Java堆和Matlab的内存视图之间的交互,并找出它由于调整大小而移动的时间,最好是在进程内.这需要堆的地址.从java.lang.Runtime很容易找到堆大小,但在内存中找不到它的地址.如何才能做到这一点?

我在Windows XP和Server 2003上的Matlab R2008b进程中运行Sun的JRE 1.6.0_04.我意识到这可能需要特定于供应商的技术.该过程运行我们编写的代码,因此我们可以使用自定义Java,Matlab,JNI和C/C++代码.JVM中的Java方法调用或支持的钩子优先于低级别的hackery.

编辑:这个目的是检查JVM的GC和Matlab的GC之间的相互作用.我没有必要查看Java堆,也不会从该内存中读取任何内容; 我只想看看它在整个虚拟内存空间的上下文中,Matlab的GC也试图将数据放入其中.

java matlab

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

Matlab面向对象编程:设置和获取多个对象的属性

我有一个这样的课:

classdef Vehicle < handle
    %Vehicle
    %   Vehicle superclass

    properties
        Is_Active  % Does the vehicle exist in the simualtion world?
        Speed      % [Km/Hour]
    end

    methods
        function this = Vehicle(varargin)
            this.Speed = varargin{1}; % The speed of the car
            this.Is_Active = true;
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

我以单元格形式创建了我的Vehicle级对象(不要问我为什么 - 这是全局设置的外行解决方法):

Vehicles{1} = Vehicle(100);
Vehicles{2} = Vehicle(200);
Vehicles{3} = Vehicle(50);
Vehicles{1}.Is_Active = true;
Vehicles{2}.Is_Active = true;
Vehicles{3}.Is_Active = true;
Run Code Online (Sandbox Code Playgroud)

我的问题:1.有没有办法在一个命令中设置所有三个对象的活动状态?2.有没有办法在一个命令中获得所有三个对象的速度?3.有没有办法在一个命令中查询哪些车辆比X快?

谢谢加布里埃尔

oop matlab get class set

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

在java中尝试捕获语法糖

我想知道在java(纯代码,而不是一些Eclipse的东西)中是否有一种方法可以将"语法糖"重复尝试捕获代码.也就是说,我必须包装一堆函数

public void foo(){
  try{
        // bla
  } catch (Exception e) {
            System.out.println("caught exception:");
            e.printStackTrace();
  }
}

public void bar(){
  try{
        // other bla
  } catch (Exception e) {
            System.out.println("caught exception:");
            e.printStackTrace();
  }
}
Run Code Online (Sandbox Code Playgroud)

等等.我想写

@excepted public void foo(){
// bla
}

@excepted public void bar(){
// other bla
}
Run Code Online (Sandbox Code Playgroud)

我认为这种类型的糖在python中是可能的.在Java中有可能吗?

java try-catch syntactic-sugar

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

Matlab:如何使用冒号运算符将结构的单元数组转换为结构数组?

假设有一个使用以下结构值初始化的单元数组.

% Phone book
phone_record{1} = struct('name', 'Bob', 'phone', '1233323');
phone_record{2} = struct('name', 'Mike', 'phone', '3245524');

% How to make such or similar one-liner work?
% phonebook(:) = phone_record{:}

% Expected:
% phonebook(1).name = 'Bob';
% phonebook(1).phone= '1233323';
% phonebook(2).name = 'Mike';
% phonebook(2).phone = '3245524';
Run Code Online (Sandbox Code Playgroud)

是否确实可以使用cell2struct或for循环索引完成此操作?可以使用交易或类似的吗?

注意:如果您不知道解决方案,请备用"最佳实践"提示或类似的"挥手".

matlab

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

为什么比uint64快一倍?

我使用Matlab分析了以下程序profile.double和uint64都是64位变量.为什么比比较两个uint64要快两倍?这两个都不是比较的吗?

big = 1000000;

a = uint64(randi(100,big,1));
b = uint64(randi(100,big,1));
c = uint64(zeros(big,1));
tic;
for i=1:big
    if a(i) == b(i)
        c(i) = c(i) + 1;
    end
end
toc;

a = randi(100,big,1);
b = randi(100,big,1);
c = zeros(big,1);
tic;
for i=1:big
    if a(i) == b(i)
        c(i) = c(i) + 1;
    end
end
toc;
Run Code Online (Sandbox Code Playgroud)

这是配置文件的度量:

个人资料截图

这就是tictoc措施:

Elapsed time is 6.259040 seconds.
Elapsed time is 0.015387 seconds.
Run Code Online (Sandbox Code Playgroud)

当使用uint8..uint32或int8..int32而不是64位数据类型时,效果消失.

double performance matlab integer compare

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

MATLAB:在container.Map对象中扩展值列表

我一直在阅读使用Matlab的container.Map的文档来构建类似于Python字典的东西,但我遇到了一些问题并且希望有人可以解释一下.

有没有办法扩展映射到某个键的值列表的内容?例如,对于地图"map",键"1234"我的值为"1.0".

map(1234) = 1.0
Run Code Online (Sandbox Code Playgroud)

我想将值列表扩展到[1.0 2.0],我尝试这样做的方式是

map = containers.Map(1234,1.0)
map(1234) = [map(1234) 2.0]
Run Code Online (Sandbox Code Playgroud)

但是我收到一条错误,说"使用containers.Map/subsasgn时出错.指定的值类型与此容器的预期类型不匹配."

我可以不将数组作为值关联到地图键吗?

非常感谢!

matlab containers map

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

在Matlab中生成64位随机整数

我正在尝试编写一个matlab函数,该函数生成一个二进制文件,其中包含一系列64位随机整数.这些应该是高质量的,这就是为什么我想使用64位mersenne twister算法或更好.内置的randi()函数只能生成32位数.我之前使用以下方法生成了32位结果:

rng('shuffle', 'twister');
randi(2^32-1, 'uint32')
Run Code Online (Sandbox Code Playgroud)

但这不适用于64位.如果我没记错使用多个32位整数来生成64位随机整数是不好的做法,但如果有一个很好的解决方案我会对它开放.
为了使问题更加困难,我目前正在使用32位Windows XP机器.

random 64-bit matlab

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