matlab常見(jiàn)語(yǔ)法錯(cuò)誤

matlab常見(jiàn)語(yǔ)法錯(cuò)誤

ID:11903902

大?。?6.15 KB

頁(yè)數(shù):22頁(yè)

時(shí)間:2018-07-14

matlab常見(jiàn)語(yǔ)法錯(cuò)誤_第1頁(yè)
matlab常見(jiàn)語(yǔ)法錯(cuò)誤_第2頁(yè)
matlab常見(jiàn)語(yǔ)法錯(cuò)誤_第3頁(yè)
matlab常見(jiàn)語(yǔ)法錯(cuò)誤_第4頁(yè)
matlab常見(jiàn)語(yǔ)法錯(cuò)誤_第5頁(yè)
資源描述:

《matlab常見(jiàn)語(yǔ)法錯(cuò)誤》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、Matlab常見(jiàn)語(yǔ)法錯(cuò)誤Subscriptindicesmusteitherberealpositiveintegersorlogicals中文解釋?zhuān)合聵?biāo)索引必須是正整數(shù)類(lèi)型或者邏輯類(lèi)型出錯(cuò)原因:在訪問(wèn)矩陣(包括向量、二維矩陣、多維數(shù)組,下同)的過(guò)程中,下標(biāo)索引要么從0開(kāi)始,要么出現(xiàn)了負(fù)數(shù)。注:matlab的語(yǔ)法規(guī)定矩陣的索引從1開(kāi)始,這與C等編程語(yǔ)言的習(xí)慣不一樣。解決辦法:自己調(diào)試一下程序,把下標(biāo)為0或者負(fù)數(shù)的地方修正。關(guān)于矩陣的各種訪問(wèn)方式。舉例:【錯(cuò)誤代碼】:1.fors=0:0.2:22.??a(s)

2、=4*s-1;3.end復(fù)制代碼【正確代碼】:1.2.fors=1:103.??a(s)=4*s-1;4.end復(fù)制代碼當(dāng)然,這樣的賦值使用循環(huán)是低效的,因此不提倡Undefinedfunctionorvariable"a"中文解釋?zhuān)汉瘮?shù)或變量a沒(méi)有定義出錯(cuò)原因及解決辦法:1.如果a是變量,則參見(jiàn)[原創(chuàng)]寫(xiě)給學(xué)習(xí)matlab的新手們一貼中技巧6后半部分2.如果a是函數(shù),則這是因?yàn)閙atlab在所有已添加的路徑中都無(wú)法找到該函數(shù)對(duì)應(yīng)的m文件而導(dǎo)致的,對(duì)此,把該m文件移動(dòng)到當(dāng)前路徑下再運(yùn)行便可。(注:何謂“所有已

3、添加的路徑”——在命令窗口中輸入pathtool可以查看;何謂“當(dāng)前路徑”——在命令窗口中輸入pwd可以查看)舉例:myPlus.m:1.functiond=myPlus(a,b)2.d=a+b;復(fù)制代碼【錯(cuò)誤調(diào)用】:命令窗口:1.>>z=myPlus(a,b)復(fù)制代碼【正確調(diào)用】:命令窗口:1.>>x=2;2.>>y=5;3.>>z=myPlus(x,y)復(fù)制代碼Inputargument"x"isundefined中文解釋?zhuān)狠斎胱兞縳沒(méi)有定義出錯(cuò)原因及解決方法:參見(jiàn)[原創(chuàng)]寫(xiě)給學(xué)習(xí)matlab的新手們一貼

4、中技巧6舉例:1.functiony=myTest(x)2.y=x*2;復(fù)制代碼【錯(cuò)誤調(diào)用】:直接在m文件編輯窗口運(yùn)行程序,或者命令窗口:1.>>a=myTest;復(fù)制代碼【正確調(diào)用】:1.>>b=4;2.>>a=myText(b);復(fù)制代碼MatrixdimensionsmustagreeInnermatrixdimensionsmustagree中文解釋?zhuān)壕仃嚨木S數(shù)必須一致出錯(cuò)原因:這是由于運(yùn)算符(=+-/*等)兩邊的運(yùn)算對(duì)象維數(shù)不匹配造成的,典型的出錯(cuò)原因是錯(cuò)用了矩陣運(yùn)算符。matlab通過(guò)“.”來(lái)區(qū)分

5、矩陣運(yùn)算和元素運(yùn)算,對(duì)此可以參閱:[原創(chuàng)]寫(xiě)給學(xué)習(xí)matlab的新手們一貼中技巧1解決辦法:自己調(diào)試一下程序,保證運(yùn)算符兩邊的運(yùn)算對(duì)象維數(shù)一致舉例:【錯(cuò)誤代碼】:1.b=[1,2];2.a=[-1,1];3.c=a*b;復(fù)制代碼【正確代碼】:1.2.b=[1,2];3.a=[-1,1];4.c=a.*b;復(fù)制代碼AttempttoexecuteSCRIPTconvasafunction出錯(cuò)原因及解決辦法:參見(jiàn)[原創(chuàng)]寫(xiě)給學(xué)習(xí)matlab的新手們一貼中技巧2如果經(jīng)過(guò)上述檢測(cè)后仍然出現(xiàn)錯(cuò)誤,則請(qǐng)把m文件的路徑設(shè)置

6、為常規(guī)的試試,即不使用中文的路徑、不使用數(shù)字作為m文件名的開(kāi)頭等等Functiondefinitionsarenotpermittedatthepromptorinscripts中文解釋?zhuān)翰荒茉诿畲翱诨蛘吣_本文件中定義函數(shù)出錯(cuò)原因:一旦在命令窗口寫(xiě)functionc=myPlus(a,b),此錯(cuò)誤就會(huì)出現(xiàn),因?yàn)楹瘮?shù)只能定義在m文件中。關(guān)于腳本文件和m文件的區(qū)別請(qǐng)查閱matlab基礎(chǔ)書(shū)。簡(jiǎn)言之:1)如果你寫(xiě)成function的形式,那么必須寫(xiě)在m文件中,且以function開(kāi)頭(即function語(yǔ)句前不能包

7、含其他語(yǔ)句,所有語(yǔ)句必須放在function中,當(dāng)然,function的定義可以有多個(gè),各function之間是并列關(guān)系,不能嵌套);2)如果你寫(xiě)成腳本的形式,則既可以寫(xiě)在命令窗口中,也可以寫(xiě)在m文件中,但兩者均不能包含function語(yǔ)句(即不能進(jìn)行函數(shù)的定義)解決辦法:新建一個(gè)m??文件,然后再進(jìn)行函數(shù)的定義1.Xmusthaveoneortwocolumns2.Vectorsmustbethesamelengths中文解釋?zhuān)?.X必須是1或者2列2.向量長(zhǎng)度必須一致出錯(cuò)原因:1.實(shí)際輸入不滿足該條件。至

8、于如何判斷矩陣的行、列,請(qǐng)參閱高等代數(shù)或者matlab的基礎(chǔ)書(shū)籍2.輸入的兩個(gè)(或幾個(gè))變量長(zhǎng)度不滿足該條件。例如plot函數(shù)的前兩個(gè)輸入變量,如果一個(gè)是1*2,另一個(gè)是1*3,則會(huì)出錯(cuò)解決方法:都需要自己調(diào)試一下1.把X的維數(shù)改為1或者2列2.按照函數(shù)的語(yǔ)法要求把向量的長(zhǎng)度設(shè)置為一樣舉例:【錯(cuò)誤代碼】:1.a=[-1,-2,-3];2.b=[1,2];3.plot(a,b);復(fù)制代碼【正確代碼】:

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。