MATLABでssを実行すると、未定義な関数としてエラーになる。
MATLABでssを実行すると、ssが未定義な関数として認識されて
エラーになっているようです。
どなたか、対処方法をご存じでしょうか?
宜しくお願いいたします。
■実行環境
OS:WindowsXP SP2
MATLAB:2007a
■実行したM-ファイル
%test
l=0.2404;
M=0.390;
J=0.0712;
c=0.695;
g=9.81;
A=[0 1; -M*l*g/J -c/J];
B=[0; 1/J];
C=[1 0];
D=0;
sys = ss(A,B,C,D);
■実行結果
??? 未定義の関数、またはメソッド 'ss' (タイプ'double' の入力引数)。
エラー ==> test at 13
sys = ss(A,B,C,D);
■調べた事項
>> ver
-------------------------------------------------------------------------------------
MATLAB Version 7.4.0.287 (R2007a)
MATLAB License Number: XXXXXX
Operating System: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 2) Java VM Version: Java 1.5.0_07 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
-------------------------------------------------------------------------------------
MATLAB Version 7.4 (R2007a)
Simulink Version 6.6.1 (R2007a+)
Communications Blockset Version 3.5 (R2007a)
Communications Toolbox Version 3.5 (R2007a)
Filter Design HDL Coder Version 2.0 (R2007a)
Filter Design Toolbox Version 4.1 (R2007a)
Fixed-Point Toolbox Version 2.0 (R2007a)
Link for ModelSim Version 2.2 (R2007a)
Signal Processing Blockset Version 6.5 (R2007a)
Signal Processing Toolbox Version 6.7 (R2007a)
Simulink Fixed Point Version 5.4.1 (R2007a+)
Trademarks
------------------
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, and xPC TargetBox are registered trademarks and SimBiology, SimEvents, and SimHydraulics are trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders.
>> which ss -all
C:\Program Files\MATLAB\R2007a\toolbox\signal\signal\@dfilt\ss.m % dfilt method
>> matlabroot
ans =
C:\Program Files\MATLAB\R2007a
>> path
MATLABPATH
C:\Program Files\MATLAB\R2007a\toolbox\matlab\general
C:\Program Files\MATLAB\R2007a\toolbox\matlab\ops
(中略)
C:\Program Files\MATLAB\R2007a\toolbox\signal\signal
(後略)
>>
お礼
毎度ご回答ありがとうございます。 質問2にの所にちょうど補足2つ目を付け足したタイミングで回答を頂けるとは思いませんでした。 投稿時間たった1秒差でしたね。(笑) >こういった他の人のニーズを見ながら自分の知識を増やすことはマイナスにはなっていないのでご安心を(笑) そーいって頂けるなら幸いです。複数回答を頂いてますので手間かけて申し訳ないなぁと思っていたもので。 >変数部分は使うんでしょうか? はい、変数部は使ってます。例えばwavestart waveendは返したい値ですので、 if nargout > 1 .....色々..... .....色々..... if strfind(str, 'wavestart') [a, b, c, wavestart] = strread(str, '%s%s%s%f'); %a b cは wave start = を格納し、wavestartに値を%fで格納。 end; end; ....色々..... ....色々..... if nargout > 2 if strfind(str, 'waveend') [a, b, c, waveend] = strread(str, '%s%s%s%f'); end; という風に各々のデータを出力しています。a b c は使わないので放置してます。 >また、textscanを使っているのなら回数を減らして(500万ずつぐらい)複数回回すと早くなったり >するかも。(配列サイズの関係で) textscanの配列を分解してみるって所が気になったので試みました。 しかし プロパティを調べるとheadlinesで前半スキップは出来るんですが、 textscanを途中で止める方法が分からなく思いつかないので、まだ成功してません。。