放學快走,你的電腦在實驗室自己喊啪嗒!
把標題中的「啪嗒」看成「啪啪」的,先去牆角面壁三分鐘!
進入正題,今天我們面臨的問題是:有時Matlab程序裡面有許多參數,我們需要通過試錯法來獲取每個參數最合適的值,這樣就需要反覆運行這個程序。
然而,由於參數每次的值不一樣,程序運行的時間長度可能差別很大,比如從幾分鐘到幾個小時不等。
在這段時間可以干別的事情,可以讀paper,可以寫paper,當然也可以看電視劇。
但讓人鬧心的是,每過一會兒就要停下手頭的電視劇,把界面切到Matlab看程序跑完了沒,特別麻煩。
有沒有什麼辦法,讓程序跑完了之後自動提醒一下?這樣即使全屏看電視劇也不用擔心錯過。
Matlab自帶的sound函數可以幫我們解決這個問題。
1. 自帶音樂
方法很簡單,只需要在程序的末尾加上兩句:
%啪嗒聲
load splat
sound(y,Fs)
然後程序在運行完之後,就會發出啪嗒聲,提醒程序已經運行完畢。
Matlab還內置了其它聲音,比如:
(1) 鳥叫聲
%鳥叫聲
load chirp
sound(y,Fs)
(2) 火車汽笛聲
%火車汽笛聲
load train
sound(y,Fs)
(3) 鑼聲
%鑼聲
load gong
sound(y,Fs)
(4) 哈利路亞
%哈利路亞
load handel
sound(y,Fs)
(5) 大笑
%大笑
load laughter
sound(y,Fs)
2. 多次播放
上面的語句雖然可以播放提示聲,但問題是只能播放一聲。這樣的話,可能因為看電視劇太入迷而忽略了提示聲。
別擔心,修改成下面的語句,可以讓聲音播放100次。可修改number為你想要播放的次數。
load splat
number=100;
for i=1:number
sound(y,Fs)
end
另外,如果覺得兩次提醒聲音之間的間隔時間太短了,可以繼續修改成下面的語句。
每兩次提示聲之間間隔2秒,可以把delta修改成你想要間隔的時間。
load splat
number=10;
delta=2;
for i=1:number
sound(y,Fs)
pause(delta)
end
3. 播放定製音樂
如果不想使用Matlab自帶的聲音,也可以播放自己喜歡的音樂,讓程序運行完之後播放。
不過這時候不用sound函數了,而是用wavread和wavplay函數,語句如下,也是兩行,放在程序最末尾。
[y,Fs]=wavread(mymusic.wav);
wavplay(y,Fs);
mymusic.wav就是你需要播放音樂的文件名,注意要放在工作目錄下。
友情提示:播放熱門廣場舞音樂,可以開啟打雞血模式,極其有助於提高工作效率,親測可用。
4. 播放真人提醒
如果不想播放音樂,還可以讓Matlab自動朗讀一段話,這個命令的細節我們在半夜看小說傷眼睛怎麼辦?已經詳細解釋過。
在這裡,只需在程序末尾加這兩句。
Txt=actxserver(SAPI.SpVoice);
Txt.Speak(程序運行結束了,主人快切換到這裡來);
當程序結束的時候,會有人聲朗讀出「程序運行結束了,主人快切換到這裡來」。
注意第二行語句分號裡面的話,可以改成任意你想要電腦讀出的文字。
對了,前面面壁思過的那個同學,這裡可以用下面兩行代碼實現你聽啪啪啪的願望:
Txt=actxserver(SAPI.SpVoice);
Txt.Speak(啪啪啪啪啪啪);
此處引號里可以複製粘貼一萬個啪,可以聽到爆!
不過注意了:你得保證程序運行時,自己一直在電腦旁守著。不然如果程序運行完的時候你不在,同實驗室的師姐就會聽到你的電腦一直在朗讀「啪」這個字…
會不會被開除學籍?
ps, 如果對科學、工程計算編程中的經驗教訓、實用工具技巧、技術宅和好玩的東西感興趣,歡迎點擊下面鏈接,或關注我的自公眾號:科學計算編點程(kexuebc)
1 你一定要知道的十款主流畫圖軟體
2 發表SCI論文有哪些實用工具?
3 最值得學習的Matlab參考書有哪些?
4 你一定要知道的幾款經典文本編輯器
5 最常用的10個Matlab快捷鍵,助你編程更高效
6 哪種編程語言最值得花時間學習?
7 半夜看小說傷眼睛怎麼辦?
8 家裡沒人怎麼防火防盜?裝上這段自動看家程序
9 買西瓜的高級玩法,用好你的智能手機
推薦閱讀:
※GacUI 動畫系統 (1)
※從零開始手敲次世代遊戲引擎(卌)
※雲時代的編程模式將會走向何方?
※工作一個月的感受
※Python分詞模塊jieba (01)-jieba安裝,分詞,提取關鍵詞,自定義分詞,切換詞庫講解