Tag: matlab

使用GPU加速MATLAB代码?

AccelerEyes于2012年12月宣布,它将与Mathworks在GPU代码上合作,并已停止使用MATLAB的产品Jacket: http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/ 不幸的是,他们不再销售Jacket许可证。 据我所知,基于ArrayFire的Jacket GPU Array解决scheme比由MATLAB提供的gpuArray解决scheme快得多。 我开始使用gpuArray,但是我发现许多函数执行得不好。 例如一个简单的 myArray(:) = 0 很慢。 我写了一些定制的CUDA-Kernels,但是执行不力的标准MATLABfunction增加了很多开销,即使在整个代码中一直使用gpuArrays。 我通过用手工编写的CUDA代码replace了MATLAB代码来解决了一些问题 – 但我不想重新实现MATLAB标准function。 我缺less的另一个function是稀疏的GPUmatrix。 所以我的问题是: 如何加快由MATLAB提供的糟糕实现的默认GPU实现? 特别是,如何在使用GPU的MATLAB中加速稀疏matrix运算?

什么是MATLAB的好处? 为什么大学如此使用? 什么时候比Python好?

最近我被要求学习一些MATLAB的基础知识。 对于在大学里工作的研究人员和人来说,什么使它变得如此酷? 我发现使用matrix和绘制事物是很酷的(使用一些库可以在Python中轻松完成)。 编写一个函数或parsing一个文件是痛苦的。 我还在起步,我错过了什么? 在“真实”的世界里,我应该怎么想呢? 什么时候可以比Python做得更好? 为了更好,我的意思是:简单的方法来写一些表演。 更新1:我最想知道的事情之一是“我错过了什么? :d 更新2:谢谢你的回答。 我的问题不在于购买或不购买MATLAB。 大学有可能给我一个免费的旧版本的MATLAB(我猜测是MATLAB 5)的副本,而不会破坏许可证。 我对它的能力感兴趣,如果它值得深入研究(我不需要比基本的 MATLAB或者其他更多的东西来通过考试:P),对于真正的特定任务,它确实比Python更好世界。

鸡尾酒会algorithmSVD实现…在一行代码?

在Coursera的斯坦福大学的Andrew Ng的机器学习的介绍性演讲中,他给出了以下一行Octave解决鸡尾酒会问题的scheme,假设audio源由两个空间分离的麦克风logging: [W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x'); 在幻灯片的底部是“来源:山姆·罗威斯,亚力·魏斯,埃罗·西蒙切利”,在前面的幻灯片的底部是“audio剪辑礼貌的李元媛李”。 吴教授说: “所以你可能会这样看待无监督的学习,并问:'实现这个有多复杂? 这似乎是为了构build这个应用程序,似乎要做这个audio处理,你会写很多代码,或者链接到一堆处理audio的C ++或Java库。看起来好像是一个真正的复杂的程序来做这个audio:分离出audio等等,结果发现你刚刚听到的algorithm,只需要一行代码就可以完成……这里显示的是研究人员很长一段时间想出这样的代码,所以我并不是说这是一个简单的问题,但事实certificate,当你使用正确的编程环境时,许多学习algorithm将会是一个非常短的程序。 在video讲座中播放的分离的audio结果并不完美,但在我看来,令人惊叹。 有没有人有任何关于如何一行代码performance如此出色的见解? 特别是,有没有人知道有关Te-Won Lee,Sam Roweis,Yair Weiss和Eero Simoncelli关于这一行代码的工作的参考资料? UPDATE 为了演示该algorithm对麦克风分离距离的敏感性,下面的模拟(在八度中)将音调从两个空间分离的音调发生器中分离出来。 % define model f1 = 1100; % frequency of tone generator 1; unit: Hz f2 = 2900; % frequency of tone generator 2; unit: Hz Ts = 1/(40*max(f1,f2)); % sampling period; unit: s dMic = 1; % distance […]

如何在Windows / Linux上设置Java Swing应用程序的DPI?

如果您的显示器的DPI超过150(如Macbook Pro),您也可能会发现问题: Java Swing应用程序的字体对于高DPI显示器来说太小 ,我根本无法更改字体大小直接忽略Windows DPI,只显示非常原始的DPI – > 96 )。 我无能为力,只能改变屏幕分辨率,这绝对会使LCD上的一切变得模糊。 是的,我有一个高DPI显示器的笔记本电脑,15.6'分辨率为1920×1080,一些Java桌面应用程序在我的笔记本电脑,如Matlab,Burpsuite等看起来很小,我一直在search互联网很长一段时间,但仍然找不到解决问题的方法。 我知道我可以通过JRE_HOME/lib/font/fontconfig.properties.src来更改JRE字体,但是我找不到任何地方为Java桌面字体设置默认字体大小或DPI。 问题没有解决办法吗? 你有一个高DPI显示器? 你如何做这样的应用程序? Swing是否放弃高DPI用户?

在MATLAB中迭代struct fieldnames

我的问题很容易概括为: “为什么以下不行?” teststruct = struct('a',3,'b',5,'c',9) fields = fieldnames(teststruct) for i=1:numel(fields) fields(i) teststruct.(fields(i)) end 输出: ans = 'a' ??? Argument to dynamic structure reference must evaluate to a valid field name. 尤其是因为teststruct.('a') 确实有效。 fields(i)打印出ans = 'a' 。 我无法理解它。

Octave / Matlab:向vector添加新的元素

有一个向量x ,我必须添加一个元素( newElem )。 之间有什么区别 – x(end+1) = newElem; 和 x = [x newElem]; ?

从MATLAB调用Python函数

我需要从MATLAB调用Python函数。 我怎样才能做到这一点?

如何连接string+我?

for i=1:N f(i) = 'f'+i; end 在MatLab中给出了一个错误。 使用模式fi的N个string初始化数组的正确语法是什么? 看起来即使这不起作用: for i=1:4 f(i) = 'f'; end

如何更改MATLAB绘图graphics的窗口标题?

我用plot()函数创build了一个MATLAB绘图。 如何更改绘图生成的graphics的窗口标题? 我正在处理的MATLAB m文件: hold on x = [0; 0.2; 0.4; 0.6; 0.8; 1; 1.2; 1.4; 1.6; 1.8; 2; 2.2; 2.4; 2.6; 2.8; 3; 3.2; 3.4; 3.6; 3.8; 4; 4.2; 4.4; 4.6; 4.8; 5; 5.2; 5.4; 5.6; 5.8; 6; 6.2; 6.4; 6.6; 6.8; 7; 7.2; 7.4; 7.6; 7.8; 8; 8.2; 8.4; 8.6; 8.8; 9; 9.2; […]

为什么numpy std()会给matlab std()一个不同的结果?

我尝试将matlab代码转换为numpy,并发现numpy与std函数有不同的结果。 在matlab中 std([1,3,4,6]) ans = 2.0817 在numpy np.std([1,3,4,6]) 1.8027756377319946 这是正常的吗? 我该如何处理呢?