最初使用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的莫扎特鋼琴奏鳴曲...