标签: octave

Octave和MATLAB之间的区别?

我是一名熟悉Python,Ruby和C的程序员,他们正试图决定是否学习GNU Octave或Matlab.我知道它们有很多共同点,但我不清楚语法是多么相似甚至数据结构.每个人都说他们"相似",但没有人说他们实际上是多么相似.上面的链接显示了几个在语法上相似或相同的例子,这对于整个语言是否正确?

我正在尝试学习一般语言以进行更多的科学计算,可能使用一些图像分析库.我知道我可以编写很多其他语言,但我的顾问说,了解MATLAB或Octave在科学中至关重要.

另外,Matlab值得花费吗?我没有很多钱,但如果图书馆或其他地方存在重大差异,我相信我能找到钱.

matlab octave

265
推荐指数
6
解决办法
22万
查看次数

Octave-Gnuplot-AquaTerm错误:设置终端aqua增强标题"图1"......未知终端类型"

我通过Homebrew安装了Octave和gnuplot,并下载了AquaTerm.dmg.当我尝试绘图时,我收到以下消息:

octave:4> plot(x,y)

gnuplot> set terminal aqua enhanced title "Figure 1" font "*,6"

                  ^
     `line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list`
Run Code Online (Sandbox Code Playgroud)

在bash终端set terminal,set Terminal,set term,(和相同的,其次是"AQUA"太)等给予什么.我已经尝试从八度音阶再次绘制"AquaTerm"已经打开,但没有.我已经尝试直接从gnuplot绘图,但同样的问题..我怎么能这样做"设置终端aqua"?

Gnuplot启动消息说" Terminal type set to 'x11'"但不知道如何更改它,以前的命令也不起作用.

由于AquaTerm没有从Homebrew安装,也许octave/gnupot找不到它......但不知道.有什么猜测?谢谢!

x11 terminal homebrew gnuplot octave

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

Octave/Matlab:扩展一个向量使其重复的向量?

有没有办法通过使矢量重复来扩展矢量?

>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
Run Code Online (Sandbox Code Playgroud)

然后v10将是:

>v10
     1 2 1 2 1 2 1 2 1 2
Run Code Online (Sandbox Code Playgroud)

这应该适用于一般情况,而不仅仅是[1 2]

matlab vector octave

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

为什么/什么时候我更喜欢MATLAB而不是Octave?

在我们的鞋带操作中,我们需要在一些更高级语言中对算法进行原型设计,然后才能在嵌入式硬件上实现C实现.

到目前为止,我们一直在使用MATLAB来做到这一点,但许可成本开始受到影响.我们正在考虑将我们的MATLAB代码移植到Octave.

有什么特别的理由这样做吗?我们是否会破坏任何兼容性,特别是如果我们有外部合作伙伴坚持使用MATLAB?我们可以期待任何表现惩罚吗?

matlab octave

80
推荐指数
8
解决办法
4万
查看次数

鸡尾酒会算法SVD实现......在一行代码中?

在Stanford的Andrew Ng在Coursera的机器学习入门讲座中的一篇幻灯片中,他给出了以下一行Octave解决方案,因为音频源由两个空间分离的麦克风录制:

[W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
Run Code Online (Sandbox Code Playgroud)

幻灯片的底部是"来源:Sam Roweis,Yair Weiss,Eero Simoncelli",而在之前幻灯片的底部则是"音频片段由Te-Won Lee提供".在视频中,吴教授说,

"所以你可能会看到这样无监督的学习,并问,'实现这个有多复杂?' 看起来为了构建这个应用程序,似乎要做这个音频处理,你会写大量的代码,或者可能链接到一堆处理音频的C++或Java库.看起来它真的是真的执行此音频的复杂程序:分离出音频等等.事实证明算法可以完成您刚刚听到的内容,只需一行代码即可完成...此处显示.确实需要研究人员很长时间想出这一行代码.所以我并不是说这是一个容易出问题的问题.但事实证明,当你使用正确的编程环境时,很多学习算法都会成为很短的程序."

在视频讲座中播放的分离音频结果并不完美,但在我看来,令人惊叹.有没有人知道这一行代码如何表现如此之好?特别是,有没有人知道有关这一行代码的Te-Won Lee,Sam Roweis,Yair Weiss和Eero Simoncelli的工作的参考资料?

UPDATE

为了演示算法对麦克风间隔距离的敏感度,以下模拟(在Octave中)将音调与两个空间分离的音调发生器分开.

% 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 between microphones centered about origin; unit: m 
dSrc = 10;              % distance between tone generators centered about origin; unit: m 
c = 340.29;             % speed …
Run Code Online (Sandbox Code Playgroud)

matlab machine-learning linear-algebra octave svd

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

如何连接字符串+ i?

for i=1:N
   f(i) = 'f'+i;
end
Run Code Online (Sandbox Code Playgroud)

在MatLab中给出错误.使用模式fi的N个字符串初始化数组的正确语法是什么?

似乎即使这不起作用:

for i=1:4
  f(i) = 'f';
end
Run Code Online (Sandbox Code Playgroud)

string matlab loops for-loop octave

76
推荐指数
4
解决办法
17万
查看次数

Octave/Matlab:向向量添加新元素

有一个向量x,我必须添加一个元素(newElem).

之间有什么区别 -

x(end+1) = newElem; 
Run Code Online (Sandbox Code Playgroud)

x = [x newElem];
Run Code Online (Sandbox Code Playgroud)

matlab element vector octave

74
推荐指数
2
解决办法
15万
查看次数

你最喜欢的MATLAB/Octave编程技巧是什么?

我想每个人都会同意MATLAB语言不漂亮或特别一致.但是不要紧!我们仍然必须用它来完成任务.

你最喜欢的技巧是什么?我们每个答案都有一个,所以如果他们同意,人们可以投票.另外,尝试用一个例子来说明你的答案.

matlab octave

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

绘图窗口无响应

我正在使用Windows 7 64位.每次,我都在使用绘图功能,绘图窗口会成功显示和绘制,但之后它会停止响应并且必须关闭它.

例如 :

x = linspace(0,1,10)
y = x.^2
plot(x,y);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当情节窗口冻结并且我必须关闭八度窗口时,它们也会没有响应.如果我不使用绘图功能,这将不会发生.

我不知道为什么.是因为我使用的是64位版本吗?请告诉我如何解决这个问题.

plot octave hang

70
推荐指数
5
解决办法
8万
查看次数

Octave没有阴谋

当我尝试在GNU Octave上绘制图形并尝试使用plot时,它给出了以下输出

set terminal aqua enhanced title "Figure 1" size 560 420  font "*,6" dashlength 1
                  ^
     line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list
Run Code Online (Sandbox Code Playgroud)

我使用的是Mac OS X 10.9.2.我试过用

octave:79> setenv("GNUTERM","X11")
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

plot octave

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