2014-05-14 318 views
0

這是令我莫名其妙的事情。我有控制系統工具箱,當我嘗試使用ss功能,我得到以下錯誤:MATLAB搜索路徑錯誤

The class 'ss' contains a parse error or cannot be found on MATLAB's search path, possibly shadowed by another file with the same name.

當我在命令提示符執行help ss,似乎拉起幫助頁面的ss命令。你有什麼想法?我沒有任何其他名爲ss的文件。

有什麼方法可以從控制系統工具箱中指定使用ss。這很奇怪,我不認爲我以前見過這個。我試圖尋找這個,但所有的結果似乎是關於MATLAB面向對象編程。任何幫助,將不勝感激。

這是結果我得到的,當我在命令提示符下使用help ss

ss Construct state-space model or convert model to state space.

Construction: SYS = ss(A,B,C,D) creates an object SYS representing the continuous- time state-space model

.... 
.... 
+0

你的工作空間中是否有一個和'ss'同名的變量?嘗試做'清除ss'然後再次嘗試命令。該消息(不幸的是)並沒有告訴你在你的工作空間中具有相同名稱的變量。這也會影響狀態空間函數。 – rayryeng

+0

我不這麼認爲......我在筆記本電腦上運行相同的腳本,並且沒有問題。這真的很激烈,所以我把它移到了linux桌面上,那是我開始遇到問題的時候。我仔細檢查了變量名。謝謝 – jti107

+2

嘗試'哪個ss -all',看看它是否發現它不應該。其他要檢查的事情:如果您嘗試使用幫助文件中的'ss'的簡單示例之一,是否會出現相同的錯誤? 'ver control'在筆記本電腦和臺式機系統上給你的結果是一樣的嗎? – nkjt

回答

0

所以這要歸功於故障排除所有的建議,我是能夠弄清楚什麼是錯的。顯然,安裝matlab的系統管理員有一個修改過的pathdef,它正在搞亂工具箱的搜索路徑。當我清除matlab路徑並且使用默認的matlab搜索路徑時,所有的問題都消失了。非常感謝你們的幫助!

0

我有同樣的問題(Matlab R2013a)。我試圖從我自己的classdef課程中撥打ss。我收到此錯誤:

Error using ss 
The class 'ss' contains a parse error or cannot be 
found on MATLAB's search path, possibly shadowed by 
another file with the same name. 

的問題是,我自己的類被稱爲StateSpaceModel,並ss有以下定義:

classdef ss < numlti & StateSpaceModel 

所以,當我是默認Matlab的路徑裏面,ss繼承了正確的Matlab類叫做StateSpaceModel。但是當我在我的文件夾中時,ss正試圖繼承我自己的同名類。