Octave 學(xué)習(xí)總結(jié)(一)

注:本文是在觀看了吳恩達(dá)老師的機(jī)器學(xué)習(xí)課程后進(jìn)行的關(guān)于 Octave 的總結(jié)钮追。以下所有命令都在 Octave 的命令行中完成。

?? Octave 是一種編程語言娩鹉,旨在解決線性和非線性的數(shù)值計(jì)算問題攻谁。GNU Octave下載地址

1. 基本操作

  • 加法:+
octave:1> 6 + 3
ans =  9
  • 減法:-
octave:2> 9 - 5
ans =  4
  • 乘法:*
octave:3> 3 * 5
ans =  15
  • 除法:/
octave:4> 8 / 2
ans =  4
  • 指數(shù)運(yùn)算:^
octave:5> 2 ^ 10
ans =  1024

??在 Octave 中使用 % 來進(jìn)行注釋, % 后的語句不會執(zhí)行弯予。

octave:6> 4 * 5 % * 6
ans =  20

??還有常見的邏輯運(yùn)算:等于 (==) 戚宦、不等于 (~=) 、與 (&&) 熙涤、或 (||) 阁苞,并用 0 表示為真(True), 1 表示為假(False)祠挫。還有異或運(yùn)算 xor 那槽,如 xor(0,1) 。

octave:7> 4 == 6
ans = 0
octave:8> 5 ~= 7
ans = 1
octave:9> 1 && 0
ans = 0
octave:10> 1 || 0
ans = 1
octave:11> xor(0,1)
ans = 1

??使用 PS1 命令可以更改等待命令的樣式等舔,如將上面的 " octave:11> " 更改為 " haixin>> " 可以使用如下命令:PS1('haixin>>');

octave:12> PS1('haixin>>');
haixin>>

2. 變量

??可以使用如下語句: a = 3 給變量 a 賦值 3 骚灸,上述語句會打印結(jié)果,如果使用 a = 6; 語句則不會打印結(jié)果(但會將變量 a 的值更改為 6 )慌植。在 Octave 中 " ; " 不會將語句的執(zhí)行結(jié)果輸出甚牲。如果想看變量 a 的值义郑,只需輸入變量名,或者使用語句 disp(a) 丈钙,可以實(shí)現(xiàn)同一個(gè)功能 非驮。

haixin>>a = 3
a =  3
haixin>>a = 6;
haixin>>a
a =  6
haixin>>disp(a)
 6

??也可以給變量賦值為字符串或者布爾值。

haixin>>b = 'hello world'
b = hello world
haixin>>c = (4 <= 5)
c = 1

?? format long 命令輸出字符串默認(rèn)的位數(shù)雏赦,format short 命令輸出少量小數(shù)點(diǎn)后位數(shù)劫笙。也可以使用類似 C語言 風(fēng)格的格式化字符串來控制打印結(jié)果, "0.2%f" 表示 代替 d 放在這里 并顯示 d 值的小數(shù)點(diǎn)后兩位數(shù)字 星岗。(注: pi 為圓周率 π 填大。)

haixin>>d = pi
d =  3.1416
haixin>>format long
haixin>>d
d =  3.141592653589793
haixin>>format short
haixin>>d
d =  3.1416
haixin>>disp(sprintf('2 decimals:%0.2f', d))
2 decimals:3.14
haixin>>disp(sprintf('6 decimals:%0.6f', d))
6 decimals:3.141593

3. 向量與矩陣

??例如,建立一個(gè)矩陣 A 輸入 A = [1 3; 2 6; 3 9] 這會產(chǎn)生一個(gè) 三行兩列的矩陣 A 其第一行是 1 3 俏橘,第二行是 2 6允华, 第三行是 3 9,分號的作用其實(shí)就是在矩陣內(nèi)換行到下一行寥掐⊙ゼ牛或者也可以使用矩陣 B 的方式建立一個(gè)矩陣。

haixin>>A = [1 3; 2 6; 3 9]
A =

   1   3
   2   6
   3   9
haixin>>B = [1,2;
> 3,4;
> 5,6]
B =

   1   2
   3   4
   5   6

??使用命令 V1 = [1 2 3] 可以建立一個(gè) 1 * 3 的行向量( 1行 3 列 )曹仗。使用命令 V2 = [1; 2; 3] 可以建立一個(gè) 3 * 1 的列向量( 3行 1 列 )榨汤。

haixin>>V1 = [1 2 3]
V1 =

   1   2   3

haixin>>V2 = [1; 2; 3]
V2 =

   1
   2
   3

??有一些便捷操作,如:V3 = 1:0.1:2 怎茫,會從數(shù)值 1 開始,增量(步長)為 0.1 妓灌,直到
增加到 2 轨蛤,按照這樣的方法得到一個(gè)行向量 V3 。使用 V4 = 1: 6 可以給集合 V4 賦值 1 至 6 的六個(gè)整數(shù)(省略了步長虫埂,默認(rèn)為1)祥山。

haixin>>V3 = 1:0.1:2
V3 =

    1.0000    1.1000    1.2000    1.3000    1.4000    1.5000    1.6000    1.7000    1.8000    1.9000    2.0000

haixin>>V4 = 1: 6
V4 =

   1   2   3   4   5   6

??當(dāng)然,也有一些快捷方式生成矩陣掉伏。例如 "ones(2, 3)"缝呕,可以生成一個(gè)元素全為 1 的 2 行 3 列的矩陣。"zeros(1, 4)"斧散,可以生成一個(gè)元素全為 0 的 1 行 4 列的矩陣供常。"eye( 4)",可以生成一個(gè)主對角線元素全為 1 鸡捐,其余元素全為 0 的單位矩陣栈暇。"rand(3, 3)",可以生成一個(gè)元素全為 0 到 1 之間的隨機(jī)數(shù)的 3 行 3 列的矩陣(均值為 0.5)箍镜。"randn(1, 5)"源祈,可以生成一個(gè)元素符合高斯分布(均值為0煎源,標(biāo)準(zhǔn)差/方差為1)的 1 行 5 列的矩陣。

??正態(tài)分布(Normal distribution)香缺,也稱“常態(tài)分布”手销,又名高斯分布(Gaussian distribution)。最早由A.棣莫弗在求二項(xiàng)分布的漸近公式中得到图张。C.F.高斯在研究測量誤差時(shí)從另一個(gè)角度導(dǎo)出了它锋拖。P.S.拉普拉斯和高斯研究了它的性質(zhì)。是一個(gè)在數(shù)學(xué)埂淮、物理及工程等領(lǐng)域都非常重要的概率分布姑隅,在統(tǒng)計(jì)學(xué)的許多方面有著重大的影響力。
??正態(tài)曲線呈鐘型倔撞,兩頭低讲仰,中間高,左右對稱因其曲線呈鐘形痪蝇,因此人們又經(jīng)常稱之為鐘形曲線鄙陡。
若隨機(jī)變量X服從一個(gè)數(shù)學(xué)期望為μ、方差為σ2的正態(tài)分布躏啰,記為N(μ趁矾,σ2)。其概率密度函數(shù)為正態(tài)分布的期望值μ決定了其位置给僵,其標(biāo)準(zhǔn)差σ決定了分布的幅度毫捣。當(dāng)μ = 0,σ = 1時(shí)的正態(tài)分布是標(biāo)準(zhǔn)正態(tài)分布。
??參考自百度百科:正態(tài)分布

haixin>>ones(2, 3)
ans =

   1   1   1
   1   1   1

haixin>>zeros(1, 4)
ans =

   0   0   0   0

haixin>>eye(4)
ans =

Diagonal Matrix

   1   0   0   0
   0   1   0   0
   0   0   1   0
   0   0   0   1

haixin>>rand(3, 3)
ans =

   0.6677270   0.5558418   0.3013639
   0.0488184   0.3312057   0.0285294
   0.0973486   0.6605332   0.0053380

haixin>>randn(1, 5)
ans =

  -0.51055   1.57464   0.62477  -0.27377   0.27106

??使用直方圖來演示高斯分布帝际。命令 "hist(W)" 為繪制向量W直方圖蔓同。

haixin>>W = randn(1, 10000);
haixin>>hist(W)
haixin>>hist(W, 50)
hist(W)

hist(W, 50)

??在 Octave 中,可以使用 help 加 方法名 來查看幫助

haixin>>help eye
'eye' is a built-in function from the file libinterp/corefcn/data.cc

 -- eye (N)
 -- eye (M, N)
 -- eye ([M N])
 -- eye (..., CLASS)
     Return an identity matrix.

     If invoked with a single scalar argument N, return a square NxN
     identity matrix.

     If supplied two scalar arguments (M, N), 'eye' takes them to be the
     number of rows and columns.  If given a vector with two elements,
     'eye' uses the values of the elements as the number of rows and
     columns, respectively.  For example:

          eye (3)
           =>  1  0  0
               0  1  0
               0  0  1

     The following expressions all produce the same result:

          eye (2)
          ==
          eye (2, 2)
          ==
          eye (size ([1, 2; 3, 4]))

     The optional argument CLASS, allows 'eye' to return an array of the
     specified type, like

          val = zeros (n,m, "uint8")

     Calling 'eye' with no arguments is equivalent to calling it with an
     argument of 1.  Any negative dimensions are treated as zero.  These
     odd definitions are for compatibility with MATLAB.

     See also: speye, ones, zeros.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.
haixin>>help help
'help' is a function from the file D:\Octave\Octave-4.4.1\share\octave\4.4.1\m\help\help.m

 -- help NAME
 -- help --list
 -- help .
 -- help
     Display the help text for NAME.

     For example, the command 'help help' prints a short message
     describing the 'help' command.

     Given the single argument '--list', list all operators, keywords,
     built-in functions, and loadable functions available in the current
     session of Octave.

     Given the single argument '.', list all operators available in the
     current session of Octave.

     If invoked without any arguments, 'help' displays instructions on
     how to access help from the command line.

     The help command can provide information about most operators, but
     NAME must be enclosed by single or double quotes to prevent the
     Octave interpreter from acting on NAME.  For example, 'help "+"'
     displays help on the addition operator.

     See also: doc, lookfor, which, info.

Additional help for built-in functions and operators is
available in the online version of the manual.  Use the command
'doc <topic>' to search the manual index.

Help and information about Octave is also available on the WWW
at https://www.octave.org and via the help@octave.org
mailing list.

??最后蹲诀,使用 " quit " 或者 " exit " 命令可以退出 Octave 斑粱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市脯爪,隨后出現(xiàn)的幾起案子则北,更是在濱河造成了極大的恐慌,老刑警劉巖痕慢,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尚揣,死亡現(xiàn)場離奇詭異,居然都是意外死亡守屉,警方通過查閱死者的電腦和手機(jī)惑艇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滨巴,你說我怎么就攤上這事思灌。” “怎么了恭取?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵泰偿,是天一觀的道長。 經(jīng)常有香客問我蜈垮,道長耗跛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任攒发,我火速辦了婚禮调塌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惠猿。我一直安慰自己羔砾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布偶妖。 她就那樣靜靜地躺著姜凄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趾访。 梳的紋絲不亂的頭發(fā)上态秧,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機(jī)與錄音扼鞋,去河邊找鬼申鱼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛云头,可吹牛的內(nèi)容都是我干的润讥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼盘寡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撮慨?” 一聲冷哼從身側(cè)響起竿痰,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砌溺,沒想到半個(gè)月后影涉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡规伐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年蟹倾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鲜棠,死狀恐怖肌厨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情豁陆,我是刑警寧澤柑爸,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站盒音,受9級特大地震影響表鳍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祥诽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一譬圣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雄坪,春花似錦厘熟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笨农,卻和暖如春就缆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谒亦。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工竭宰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人份招。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓切揭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锁摔。 傳聞我的和親對象是個(gè)殘疾皇子廓旬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容