MATLAB的cd函式與cd命令

2021-07-29 18:26:31 字數 1986 閱讀 8634

最初使用matlab的時候發現cd可以像linux的shell命令一樣使用,恰好cd又是我會的不多的幾個shell命令之一。於是,用得到的時候就各種cd,如果不成功就簡單修改摸索一下。那時候我確實是沒有看過help,更沒有去查比較詳細的help文件。不過,後來,我發現很多matlab中的命令是命令的同時也是函式。

慢慢地,使用函式的頻率是要多餘命令多一些。本來這個沒有優劣之分,何況很多時候我甚至感覺不到他們的差異。不過,兩者有差異是肯定的,不僅僅在於函式上面多了乙個小括號。

簡單的探索摸索如下:

>> dir_str1= 'e:\workspace\01_程式語言\02_matlab\matlab_01';

>> dir_str2= 'e:\workspace\01_程式語言\02_matlab';

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab\matlab_01

>>cd(dir_str2);

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab

上述操作肯定是沒有問題的,但是,如果把最後乙個換成命令可以嗎?其實,只要是稍微思索一下就可以得出否定的結論,因為這根切換到乙個名稱為dir_str2這種含義相衝突。簡單測試如下:

>> cddir_str1

error using cd

cannot cd todir_str1 (name is nonexistent or not a directory).

>> cddir_str2

error using cd

cannot cd todir_str2 (name is nonexistent or not a directory).

兩次嘗試都遇到了問題,最終失敗。這種情況可以通過歧義來理解清楚了,那麼換個角度,傳入的引數如果是乙個確切的目錄字串呢?

測試1:

>> cde:\workspace\01_程式語言\02_matlab\matlab_01

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab\matlab_01

>> cd ../

>> cd'e:\workspace\01_程式語言\02_matlab\matlab_01'

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab\matlab_01

如果使用命令,不管是目錄還是字串都能夠識別並能夠切換成功。

測試2:

>> cd ../

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab

>>cd('e:\workspace\01_程式語言\02_matlab\matlab_01')

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab\matlab_01

>> cd ../

>> pwd

ans =

e:\workspace\01_程式語言\02_matlab

>>cd(e:\workspace\01_程式語言\02_matlab\matlab_01)

cd(e:\workspace\01_程式語言\02_matlab\matlab_01)

error: unexpectedmatlab operator.

最終,函式在非字串屬性的目錄描述引數識別時候碰壁。通過這些嘗試,總結一下cd函式與命令的使用方法如下:

1,如果後面的目錄表示形式是乙個字串常量,兩種方法都可以用;

2,如果後面的目錄是乙個不加引號的目錄自然描述方式,只能夠用命令;

3,如果是乙個儲存了目錄字串的變數,只能夠用函式。

這裡僅僅對cd的函式和命令進行了簡單的嘗試與總結,或許相應的結論可以拓展到matlab其他功能的理解,那些具有函式與命令「過載」屬性的功能或許都有著類似的使用特點。

Linux中 cd 與 cd 的區別

剛開始學的時候對於 cd 與 cd 模稜兩可,不懂他們的區別.只是知道 是根目錄,也是根目錄,是你當前使用者的根目錄,也可以叫是家目錄.這樣方便理解.linux是儲存是以掛載的方式,相當於是樹狀的,源頭就是 也就是樹根,根目錄.而我們每個使用者都會有自己的家目錄,也就是使用者的個人目錄.比如說 ro...

linux命令cd回退 linux的內建命令

談到linux下的內建命令,說實話,在學習shell指令碼之前本沒有聽說過,更不知道它和linux下一般的命令有何不同 解釋內建命令之前,先來看乙個例子 建立乙個shell指令碼,內容如下 bin bash lscd 在這個指令碼中,我們可以注意到有乙個命令 cd 按照以前直接在命令列上的經驗,執行...

年末的CD收穫

年末慢慢積累,還買了不少的一批古典。博雅進了幾個系列的經典碟,我也就挑經典之經典收入囊中。rca的全集系列 白底色紙盒 基本都是60 張,不算便宜,不過有兩套不錯,乙個是toscanini指揮nbc交響樂團的貝多芬全集,5張,相比伯恩斯坦的不算節約也不算奢侈 一套是larrocha的莫扎特鋼琴奏鳴曲...