悲傷不可怕,可怕的是麻木
今天在坐地鐵回家的路上,逛知乎看到一個很有意思問題,「如何用一段簡單的代碼講述一個悲傷的故事」。其中有一位朋友的回答特別令我印象深刻,按Matlab的方式來說,大意是:
x1 = 1;
x2 = 2;
x3 = 3;
......
x100 = 100;
100次逐個變數的定義,這種悲傷,我太理解了。
記得研究生第一學期,有一門課叫Modellbuildung und Simulation,翻譯成中文叫做建模與模擬。這門課有對應的上機課,每節上機課都需要用Matlab完成一道模擬題,完成後每個人還要參加隨堂口 試,從德語,數學模型,Matlab代碼全方位虐你一遍。
我之所以太理解這種悲傷,是因為有一次上機課,要對x1到x6有規律地賦值。那時候的我跟eval函數互不相識,硬生生的寫了六行賦值代碼。到口試環節時,我大致跟助教描述了我代碼的邏輯,本以為相安無事,哪知殺出個德國小哥,說:像你這樣賦值,如果有上百個,怎麼辦?
當場被問尷尬了,又無力反駁,現在回想起來都覺得悲傷。從那時起,我寫代碼的時候,考慮的事情變多了,能用矩陣的地方,盡量不用循環,能批量處理的地方,盡量不徒手干。
悲傷不可怕,可怕的是麻木
回過頭來看,類似悲傷的事何止只是逐個賦值,舉例來說,像Simulink中的Bus Creator的輸入量定義和Bus Selector的輸出量選取,也是悲傷聚集地。用過這兩個模塊的朋友,你們真的了解Bus Creator和Bus Selector嗎?
今天就來聊一聊,如何實現Bus Creator輸入量及Bus Selector輸出量的一鍵定義。
1. Bus Creator輸入量的一鍵定義
當建立Bus Creator的時候,正如圖中顯示的,Input signal都是默認值:signal1,signal2...
GIF/1K
使用過的朋友一定知道如何自定義這些輸入信號的名字,用來區別Bus系統中不同的信號,不然鬼知道系統中的signal1代表的是速度還是溫度。
雙擊Bus Creator輸入端的信號線,就能編輯信號線上的信號名。Bus Creator輸入信號也隨之改變。
GIF/1K
如果這個Bus Creator有100個輸入信號,那我要雙擊多少次滑鼠才能定義完一個Bus Creator的輸入信號?如果模型中又存在100個類似的Bus Creator,情況是不是更加慘烈?在工程項目中,出於模塊化與二次開發的目的,大範圍使用Bus系統優劣並存,使用的便捷程度與創建的繁瑣程度相當。Bus系統的建立難度一旦降低至,那麼就沒有不使用它的理由。
我希望能夠實現,只需要點擊一個按鈕,模型中所有的Bus Creator都能夠自動完成輸入信號的更新。如何實現?
整體實現的邏輯是:
1.獲取Bus Creator輸入埠的連接對象
2.如果該連接對象是埠,就獲取其埠名;如果該連接對象是From,就獲取其GotoTag
3.設置該連接對象的輸出line的名字,為第2步所獲取的信號名
整個過程以Bus Creator的數量為for循環的次數,整體達到的效果大致如下:
GIF/1K
2. Bus Selector輸出量的一鍵定義
當創建Bus Selector時,其中輸入信號為相關的Bus系統中信號的總和,而輸出信號為所選取的信號。
GIF/1K
正如之前所提到的,在工程項目中,碰到一個Bus Selector有幾十乃至上百個輸出信號,似乎並不是什麼稀奇的事。那是否在第一次創建的時候需要一一挑取輸出信號。這個工作相比Bus Creator而言,滑鼠的壓力會輕些,不過眼睛肯定瞎了。更常見的是,如果發現中間某個輸出信號搞錯了或是錯位了,那又是一通忙會。
GIF/1K
我希望能夠實現,只需要點擊一個按鈕,模型中所有的Bus Selector的輸出信號會根據其輸出埠自動添加或更新。
整體實現的邏輯是:
1.獲取Bus Selector輸出埠的連接對象
2.如果該連接對象是埠,就獲取其埠名;如果該連接對象是Goto,就獲取其Gototag
3.將第2步所獲取的信號名在Bus Selector的輸入信號庫中進行匹配,如果配對成功,就選去該信號名作為Bus Selector的輸出信號
整個過程以Bus Selector的數量為for循環的次數,整體達到的效果大致如下:
GIF/1K
以上
GUI
如何通過Matlab做學習界面
Roulette s Secret
Simulink建模
你以為透支身體工作就是實現夢想么?
圖像處理
程序員如何討好女朋友
如何在excel中畫畫
音頻處理
Matlab如何演奏周杰倫的「晴天」
網路爬蟲
Matlab還能看得懂上海房價?
通過Matlab來聊聊上海租房的那些事
純雞湯,無技術
你是否有五年來一直堅持的事?
這個公眾號是什麼鬼?
掌握四點就能學好任何編程語言
如果你有新的想法,可以給我留言,我們互相探討
TAG:打浦橋程序員 |
※犯錯不可怕,可怕的是已麻木不仁!
※鬼不可怕,可怕的是人!
※失去不可怕,可怕的是觸景而傷情
※貧窮不可怕,可怕的是絕望
※苦不可怕,抱怨才可怕
※感冒不可怕,可怕的是併發症!
※甲亢不可怕最可怕的是它
※分手不可怕,可怕的是冷暴力
※貧窮不可怕,可怕的是不夠勤奮
※得了抑鬱症不可怕,可怕的是你有病恥感!
※胖子不可怕,可怕的是不懂怎麼穿
※婚姻不可怕,可怕的是沒有愛情
※糖尿病不可怕,可怕的是併發症!再不注意遭罪的還是自己
※「笨」並不可怕,可怕的是把笨當借口
※孤單並不可怕,可怕的是寂寞
※失去的並不可怕,可怕的是心有不甘
※渣男不可怕,怕的是你瞎
※發燒不可怕,感冒不可怕,可怕的是咳嗽!你還在拚命咳嗽么?
※癌症不可怕,可怕是……
※死亡不可怕,可怕的是被人遺忘