亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

MATLAB-GNU Octave教程

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

Octave與MATLAB具有以下共同特征-

  • 矩陣是基本數(shù)據(jù)類(lèi)型

  • 它內(nèi)置了對(duì)復(fù)數(shù)的支持

  • 它具有內(nèi)置的數(shù)學(xué)函數(shù)和庫(kù)

  • 它支持用戶(hù)定義的功能

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

MATLAB vs Octave

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

例如,MATLAB僅支持單引號(hào),但是Octave支持單引號(hào)和雙引號(hào)來(lái)定義字符串。如果您正在尋找有關(guān)Octave的教程,那么請(qǐng)從頭開(kāi)始閱讀本教程,其中涵蓋了MATLAB和Octave。

兼容的實(shí)例

本教程中介紹的幾乎所有示例都與MATLAB以及Octave兼容。讓我們嘗試下面的示例,在MATLAB和Octave中產(chǎn)生相同的結(jié)果,而無(wú)需任何語(yǔ)法更改-

本示例為函數(shù)g = xe- (x 2 + y 2創(chuàng)建3D表面圖。創(chuàng)建一個(gè)腳本文件并輸入以下代碼-

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

運(yùn)行文件時(shí),MATLAB顯示以下3-D映射-

Matlab中的3D映射

不兼容的實(shí)例

盡管MATLAB的所有核心功能都可以在Octave中使用,但是有些功能(例如,差分和積分演算)在兩種語(yǔ)言中都不完全匹配。本教程嘗試給出兩種示例,它們的語(yǔ)法有所不同。

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

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

運(yùn)行文件時(shí),MATLAB繪制圖形-

定積分

顯示以下結(jié)果

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Area: 
   0.3326

但是要在Octave中給出相同曲線的面積,您將必須使用以下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));