鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ Matlab GNU Octave
Matlab代數(shù)(方程求解)
Matlab開(kāi)發(fā)環(huán)境設(shè)置
Matlab GNU Octave
Matlab字符串
Matlab矩陣
Matlab微分和導(dǎo)數(shù)
Matlab數(shù)字
Matlab數(shù)據(jù)導(dǎo)入
Matlab整合集成
Matlab冒號(hào)符號(hào)
Matlab變量
Matlab數(shù)組
Matlab運(yùn)算符
Matlab數(shù)據(jù)導(dǎo)出
Matlab向量
Matlab命令
Matlab決策
Matlab微積分
Matlab圖形
Matlab教程
Matlab繪圖
Matlab多項(xiàng)式
Matlab .m腳本文件
Matlab循環(huán)
Matlab基礎(chǔ)語(yǔ)法
Matlab函數(shù)
Matlab轉(zhuǎn)換
Matlab概述
Matlab數(shù)據(jù)類(lèi)型

Matlab GNU Octave

GNU Octave是像MATLAB這樣的高級(jí)編程語(yǔ)言,它能與MATLAB兼容。它也是用于數(shù)值計(jì)算。

Octave具有以下MATLAB的常見(jiàn)功能 -

  • 矩陣是基本數(shù)據(jù)類(lèi)型
  • 它內(nèi)置了對(duì)復(fù)雜數(shù)字的支持
  • 它具有內(nèi)置的數(shù)學(xué)函數(shù)和庫(kù)
  • 它支持用戶(hù)定義的函數(shù)

GNU Octave也是免費(fèi)的可再分發(fā)軟件。可以根據(jù)自由軟件基金會(huì)發(fā)布的GNU通用公共許可證(GPL)的條款重新分發(fā)和/或修改它。

MATLAB vs Octave

大多數(shù)MATLAB程序都運(yùn)行在Octave中運(yùn)行,但是某些Octave程序可能無(wú)法在MATLAB中運(yùn)行,因?yàn)镺ctave不支持MATLAB的某些語(yǔ)法。

例如,MATLAB僅支持單引號(hào),但是Octave支持單引號(hào)和雙引號(hào)來(lái)定義字符串。 如果正在尋找Octave教程,那么請(qǐng)從頭開(kāi)始學(xué)習(xí)本教程,因?yàn)樵诒窘坛讨泻w了MATLAB和Octave。

兼容的示例

本教程中涵蓋的幾乎所有示例都與MATLAB以及Octave兼容。在MATLAB和Octave中嘗試以下示例,它產(chǎn)生相同的結(jié)果 -

此示例為函數(shù) -

創(chuàng)建一個(gè)3D曲面圖。 創(chuàng)建腳本文件并鍵入以下代碼 -

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

MATLAB運(yùn)行文件時(shí),將顯示以下三維圖 -

不兼容的例子

雖然MATLAB的所有核心功能都可以在Octave中使用,但是還有一些功能,例如微分和積分微積分,這兩種語(yǔ)言都不完全匹配。本教程嘗試給出兩種類(lèi)型的示例,它們的語(yǔ)法不同。

考慮以下示例,其中MATLAB和Octave使用不同的函數(shù)來(lái)獲得曲線的面積:f(x)= x^2 cos(x),對(duì)于x-4≤x≤9。以下是MATLAB版本的代碼 -

f = 'x^2*cos(x)';
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

MATLAB運(yùn)行文件時(shí),將顯示以下圖形 -

但是為了給Octave提供相同曲線的區(qū)域,但是需要使用symbolic包,如下所示:

pkg load symbolic
symbols

x = sym("x");

f = inline("x^2*cos(x)");

ezplot(f, [-4,9])
print -deps graph.eps

[a, ierror, nfneval] = quad(f, -4, 9);

display('Area: '), disp(double(a));

上一篇:Matlab運(yùn)算符下一篇:Matlab教程