MATLAB程序debug(一)

問題

同一段命令,在另一個程序裏運行好好的,能得到非零數值結果,在當前程序裏卻出現問題,得到全零數值,然而程序運行沒有報錯,不知道到底哪裏出了問題!

 

調試

第一步:檢查所有變量符號,發現有一個符號 \Omega_1 錯寫成 \Omega_2

第二步:檢查函數,發現調用函數 max() 時參數缺失。

第三步:重新運行程序。

 

總結

\max(A_{2\times3}) = \textup{\textbf{a}}_{1\times3}, \max(A_{1\times3}) = a_{ij}

調用max() 函數要明確是提取列最大值還是行最大值,如\max(A,1)取列最大值,\max(A,2)取行最大值。

調試程序不能總想着“我寫的對啊,沒問題啊”,只能一個符號一個符號,一行一行,去確認是否真的無誤。

寫程序8個小時調程序10個小時的痛,只有過來人懂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章