matlab常見的錯誤提示及其解決方法.doc_第1頁
matlab常見的錯誤提示及其解決方法.doc_第2頁
matlab常見的錯誤提示及其解決方法.doc_第3頁
matlab常見的錯誤提示及其解決方法.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

matlab常見的錯誤提示及其解決方法(2011-07-23 09:08:09) 標簽: matlab常見錯誤原因解決方法it分類: matlab學習 今天在百度知道上收到求助,說想知道matlab常見錯誤。個人雖然也學了點matlab皮毛,并且碰過不少問題,但從沒有認真總結過常見的錯誤。于是上網搜索一番,整理出常見的錯誤,當前以整理出的內容如下,不足之處待以后補充,也期待看到此篇博文的朋友幫忙指出不足。1.Undefined function or variable U中文解釋:函數或變量 U 沒有定義出錯原因:函數或變量 U 沒有定義解決辦法:仔細檢查錯誤所指向的位置,尋找沒有定義的函數或者變量,加以定義。2.Unexpected MATLAB expression.中文解釋:不規范的matlab表達式出錯原因:少了運算符號,或者括號等情況解決辦法:仔細檢查錯誤所指向的位置,檢查是否少了乘號,或者逗號、分號、括號等。3.Subscript indices must either be real positive integers or logicals中文解釋:下標索引必須是正整數類型或者邏輯類型出錯原因:在訪問矩陣(包括向量、二維矩陣、多維數組,下同)的過程中,下標索引要么從 0 開始,要么出 現了負數。注:matlab 的語法規定矩陣的索引從 1 開始,這與 C 等編程語言的習慣不一樣。解決辦法:自己調試一下程序,把下標為 0 或者負數的地方修正。4.Matrix dimensions must agree中文解釋:矩陣的維數必須一致出錯原因:這是由于運算符(= + - / * 等)兩邊的運算對象維數不匹配造成的,典型的出錯原因是錯用了矩陣運 算符。matlab 通過“.”來區分矩陣運算和元素運算。解決辦法:自己調試一下程序,保證運算符兩邊的運算對象維數一致。5.Function definitions are not permitted at the prompt or in scripts中文解釋:不能在命令窗口或者腳本文件中定義函數出錯原因:一旦在命令窗口寫 function c = myPlus(a,b),此錯誤就會出現,因為函數只能定義在 m 文件中。 關于腳本文件和 m 文件的區別可查閱 matlab 基礎書。簡言之:1) 如果你寫成 function 的形式,那么必須寫在 m 文件中,且以 function 開頭(即 function 語句前不能包含其他語句,所有語句必須放在 function 中,當然,function 的定義可以有多個,各 function 之間是并列關系,不能嵌套); 2) 如果你寫成腳本的形式,則既可以寫在命令窗口中,也可以寫在 m 文件中,但兩者均不能包含 function 語句(即不能進行函數的定義)解決辦法:新建一個 m 文件,然后再進行函數的定義6.One or more output arguments not assigned during call to .中文解釋:在調用.函數過程中,一個或多個輸出變量沒有被賦值出錯原因:函數如果帶有輸出變量,則每個輸出在返回的時候都必須被賦值。容易出現這個錯誤的兩個地方是: 在部分條件判斷語句(如 if )中沒有考慮到輸出變量的返回值。在循環迭代過程中部分變量的維數 發生了變化。解決辦法:在條件判斷或者執行循環之前對所使用的變量賦初值。7.? Index exceeds matrix dimensions.中文解釋:索引超出矩陣的范圍出錯原因:在引用矩陣元素的時候,索引值超出矩陣應有的范圍解決辦法:檢查所定義數組的維數,和引用的范圍。8.In an assignment A(I) = B, the number of elements in B and I must be the same中文解釋:在賦值語句 A(I) = B 中,B 和 I 的元素個數必須相同出錯原因:矩陣維數不匹配,如矩陣乘法要求第一個矩陣的列數和第二個矩陣的行數相等。解決辦法:自己設置斷點調試一下,看看 I 和 B 的維數、大小是否相同,不同的話就要修改成兩者一致還有一些隱性的錯誤,matlab不會報錯也不會警告,但會造成結果的錯誤 比如由于 C 或 C+ 留下的編程習慣,我們常常會以i,j作為循環變量,但同時matlab中i,j又是復數單位,這樣就會由于使用不慎,i,j被matlab認定為復數而造成結果錯誤。如以下例子for i = 1:3 A(i) = 2i+1;end結果為:A = 1.0000 + 2.0000i 1.0000 + 2.0000i 1.0000 + 2.0000i明顯不是我們所要的結果,問題出在少了個乘號,但matlab并不會報錯,而認為是復數單位。正確情況是改為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論