• 締切済み

平衡点とは??matlabでのコマンド・・・ 状態方程式?

sgwjnの回答

  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.2

可能性としては、 (1)'min'がプロパティだとすると、その設定値がない (2)'min'は数値情報のことで、sys=ss(A, B, C, D, min)のように使う   min = 最小値(数値) というような感じでしょうか。 ただ、関数ss()は引数を4つまでしか設定できないようなんですが…。 http://www.mathworks.com/access/helpdesk/help/toolbox/mpc/index.html?/access/helpdesk/help/toolbox/mpc/ss.html&http://translate.google.com/translate_n?hl=ja&sl=en&u=http://www.mathworks.com/access/helpdesk/help/toolbox/mpc/ss.html&prev=/search%3Fq%3Dmodel%2Bpredictive%2Bcontrol%2Btoolbox%25E3%2580%2580ss%26hl%3Dja%26lr%3D 現状の情報だけでは良く分からないので、以下の2つについても教えていただけますか? (1)sys=ss(A,B,C,D)と実行したときのエラーメッセージ (2)MATLABのCommandWindowで help ss と実行したときに表示される関数仕様

nannzann
質問者

補足

返信ありがとうございます。sys=ss(A,B,C,D)とやるだけでしたらエラーが出ないのですが、simを行うときにエラーがでてしまいます。。。そのときのエラーメッセージを以下にのせます。 ??? エラー: ==> sim MPC block (mask) 'MPC Controller1'の'InitFcn'コールバックの実行中にエラーが発生しました。 エラー ==> @mpc\private\mpc_estimator の 52 行目 Problems encountered when designing the overall state observer (Kalman filter). Model.Plant is not detectable from measured outputs. If Model.Plant was obtained using the command 'ss', try using 'ss' with option 'min'. Example: MPCobj.Model.Plant=ss(G,'min'). The overall system has unobservable modes in z=1. エラー ==> mrensyuu at 37 sim('rensyuu',Tstop); このエラーメッセージ中のIf Model.Plant was obtained using the command 'ss', try using 'ss' with option 'min'. Example: MPCobj.Model.Plant=ss(G,'min').というところを見て、'min'をつければいいのではないかと考えたのですが・・・ (2)も以下にのせておきます。よろしくおねがいします。 SS 状態空間モデルの作成、またはモデルを状態空間モデルに変換 SYS = SS(A,B,C,D) は、下記の連続状態空間モデルで表される SS オブジェクト SYS を作成します。 dx/dt = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t) 適切な次元の 0 行列 D=0 を設定することができます。 行列 A,B,C,D の いくつかが不確かさをもつ場合、SS は不確かさをもつ状態空間 (USS) モデルを返します (Robust Control Toolbox のみ)。 SYS = SS(A,B,C,D,Ts) は、サンプル時間 Ts をもつ離散時間の状態空間モデルを 作成します (サンプル時間が未決定の場合、Ts=-1 を設定)。 SYS = SS は、空の SS オブジェクトを作成します。 SYS = SS(D) は、静的なゲイン行列 D を作成します。 上記のすべての場合で、様々なモデルプロパティを設定するために、入力の リストに、つぎの組み合わせを続けることができます (詳細は、LTIPROPS と タイプしてください)。 'PropertyName1', PropertyValue1, ... A,B,C,D に対する ND 配列を使用することで状態空間モデルの配列を作成できます。 A,B,C,D の最初の 2 つの次元は、状態数と入出力の数を定義し、残りの次元は配列 サイズを指定します。たとえば、 sys = ss(rand(2,2,3,4),[2;1],[1 1],0) は、SISO 状態空間モデルの 3x4 配列を作成します。SS 配列を作成するために インデックスの割り当てや、STACK を使用することもできます。 sys = ss(zeros(1,1,2)) % SISO モデルの 2x1 配列を作成 sys(:,:,1) = rss(2) % 1 番目のモデルの割り当て sys(:,:,2) = ss(-1) % 2 番目のモデルの割り当て sys = stack(1,sys,rss(5)) % 3 番目のモデルを配列に追加 SYS = SS(SYS) は、任意のクラスのシステム SYS を状態空間に変換します。 すなわち、SYS の状態空間実現を計算します。 SYS = SS(SYS,'min') は、SYS の最小実現を計算します。 参考 ltimodels, ltiprops, dss, delayss, rss, drss, lti/ssdata, tf, zpk, frd. 参照ページはHelp browserにあります doc ss

関連するQ&A

  • 線形化 状態方程式

    非線形システムdx/dt=f(x,u), f(x,u)=(2・x1・x2+u ,x1+x2^2)T x=(x1,x2)T テーラー展開一次近似により、平衡点(x',u'), x'=(x1',x2')T に関して局所線形化したX=x-x',U=u-u'に関する状態方程式 dX/dt=AX+BUを求めよ。 上記の問題で平衡点をx0=(-1,1)T u0=2としてその近傍でテーラー展開しようとしたのですが、AとBの計算の仕方がわかりません。 お手数ですが、教えていただけないでしょうか? 似たような問題があるサイトがあれば教えてください

  • 1自由度変位強制振動の状態空間表現

    振動工学や制御工学で良く例題に挙げられるマス・ばね・ダンパ系の1自由度振動系について質問です。 マスをm1、ばねをk1、ダンパをc1と設定し、マスの上下変位をz1とします。 また、基礎の変位をz0とします。 この系に外力が作用せず、強制変位(z0 = sinωtなど)のみ作用するとき、 入力:z0 出力:z1 の状態空間表現 x_dot = A*x + B*u y = C*x + D*u x:状態変数ベクトル u:入力ベクトル y:出力ベクトル を導出したいのですが、z0_dot(変位z0の速度)はどのように取り扱えば良いのでしょうか? 状態変数をどのように置けば良いでしょうか? ウェブ上を探しても、この例題が挙げられているページを見つけることができませんでした。 状態空間表現ではなく、古典制御理論の伝達関数表現なら導出できるのですが…。 よろしくお願いいたします。

  • 線形時変モデル

    卒研で油圧ショベルの自動制御をしているんですが,線形時変モデルを用いて制御系設計をしたいと思ってます.そこで,線形時変モデルを用いた制御系設計のことが勉強できる教科書を探してます.お勧めの教科書があれば,教えて下さい.

  • 反応拡散方程式の定常解について

    反応拡散方程式 dU/dt = f(U,V)+ΔU dV/dt = g(U,V)+ΔV (fとgは非線形な関数でΔは空間1次元のラプラシアン) には、条件が整えば空間的に非一様な定常解(時間変化しない解) が存在します。 このような空間非一様性を満たす定常解 0 = f(U,V)+ΔU 0 = g(U,V)+ΔV をノイマン境界条件のもとで数値的に求めようとして、 ラプラシアン(Δ)を離散化した次の連立方程式 0 = f( U<i>, V<i> ) + [U<i+1>-2U<i>+U<i-1>]/h^2 0 = g( U<i>, V<i> ) + [V<i+1>-2V<i>+V<i-1>]/h^2 (i=0~N) をニュートン法で解いてみました。 結果、 初期値(u(x)とv(x)の形)によってはまぐれで空間非一様な定常解らしき状態に収束することがあるのですが、ほとんどの場合発散してしまうか、一様な解(u(x)=0,v(x)=0)に収束してしまいます。1000回ほどランダムに初期値を変えて試行したところ空間非一様<らしき>解に収束したのはたった数回でした。また、離散格子点を多くとった場合(例えばN=200)には、まったく収束しなくなりました。直感では、初期値さえうまくとれば収束しそうな気がしたのですが、、 質問:  上の反応拡散方程式のような非線形連立偏微分方程式の定常解を、数値的に求める手段というのはあるのでしょうか? アドバイスよろしくお願いします。

  • 偏微分方程式

    ある大学院の過去問なんですが、小問が3つあるんですが、まず1つ目について教えてください。 『次のような u(x, t) に関する偏微分方程式を考える。     ∂u/∂t + u ∂u/∂x = ν ∂^2 u/∂x^2    (*) ここで、νは正の定数である。この時以下の問いに答えよ。 (1) (*)式に ψ(x, t) と φ(x, t) を用いた2段階の変換     i. u = ∂ψ/∂x     ii. ψ = αlogφ を行ない、定数αを適当に選ぶと φ(x, t) に関する線型方程式     ∂φ/∂t = ν ∂^2 φ/∂x^2    (**) が得られることを示せ。また、そのときのαを求めよ。』 と言う問題です。 変換i. ii. を行なってφの偏微分方程式には出来るのですが(合ってるかどうかは別問題) αをどう取っても(**)になりそうにないんです。(ってことは合ってないって事?) やったのは     u = ∂ψ/∂x = (∂/∂x)(αlogφ) = (α/φ)(∂φ/∂x)     ∂u/∂t = (∂/∂t){(α/φ)(∂φ/∂x)} = -(α/φ^2)(∂φ/∂t)(∂φ/∂x) + (α/φ)(∂^2 φ/∂t∂x)     ∂u/∂x = (∂/∂x){(α/φ)(∂φ/∂x)} = -(α/φ^2)(∂φ/∂x)^2 + (α/φ)(∂^2 φ/∂x^2)     u(∂u/∂x) = (α/φ)(∂φ/∂x){-(α/φ^2)(∂φ/∂x)^2 + (α/φ)(∂^2 φ/∂x^2)}         = -(α^2/φ^3)(∂φ/∂x)^3 + (α/φ)^2(∂φ/∂x)(∂^2φ/∂x^2)     ∂^2u/∂x^2 = (∂/∂x){(α/φ)(∂φ/∂x)} = -(2α/φ^2)(∂φ/∂x)^2 + (α/φ)(∂^2φ/∂x^2) までなんですが、これを(*)に代入するとすごい事になってとても(**)にたどり着けそうにないんです。 ここまでで既に間違ってるんでしょうか?それともこの状態でαを適当に選べば(**)が導けるんでしょうか? よろしくお願いします。

  • 線形代数の二次式の集合

    二次式(aベクトル)=a1x^2+a2x+a3・1 についてu1=x^2,u2=x,u3=1とおくと、 (1) a1x^2+a2x+a3・1=0,a1=a2=a3=0より、u1,u2,u3は線形独立である (2)u1,u2,u3の一次結合c1u1+c2u2+c3u3=c1x^2+c2x+c3で任意の二次式を表すことができる。 とありますが、ここで二つ質問があります。まず(1)についてですがなぜ線形独立と言えるのか分かりません。 また、このように二次式の集合Vを線形空間としてとらえて、どのようなことができるのでしょうか?

  • 線形代数の部分空間Wの生成元の定義について

    部分空間W の生成元の定義に補足で ※a1,・・・,akは、線形独立やWの基底である必要はない とあります。 しかし、このあとの例題で、 R^2の線形空間において、W={x=[x1 x2]|2x1-x2=0}(注意:xは列ベクトルです)がR^2の部分空間であることを示し、Wの基底を求めよ。という問題で、結果x=[x1 x2]=[x1 2x1]=x1[1 2](注意:xは列ベクトルです)とのりa1=[1 2](列ベクトル)とおくと、a1 はこれのみで、線形独立であり、かつWの任意の元xはx=ca1と、a1の線形結合で表される。よって{a1}はWの基底である。このとき、Wはa1で生成される空間とよんでもいい。とります。でもこれは※と矛盾しています。どなたか詳しい解説を頂けないでしょうか?

  • 位相空間における集積点

    U(n)={n∈N|n,n+1,n+2,…} O={Φ}∪{U(n)} と与えられています。(N:自然数、Φ:空集合) (N,O):位相空間におけるA={1,3,5,7,9}の集積点を求める問題で、質問があります。 私が解いた結果、集積点は 1,2,3,4,5,6,7,8 だなって思ったんです。(これあってますよね??) で、問題はその後なんですけど、9以上の自然数が集積点でないことを示した方がいいですよね。その場合、 9≦x∈N については、  x∈U(n)となるU(n)は 1≦n≦x だが、  U(i)∩A=Φ (for i≧9, i∈N) したがって9以上の自然数は集積点ではない。 っていう証明で、示せてますか??なんか論理的じゃない気がして…。アドバイスしてもらえませんか。よろしくお願いします。

  • 線形代数の問題が分からないので教えて下さい。

    Uをベクトルv1=(2,1,1)とv2=(-1,2,0)が張る線形部分空間とする。 そのとき、点y=(10,20,2)から最も近いU上の点v0を求めよ。 原点Oとv0は平面U上にあり、O,v0,yでつくる角度は90度である。(直角三角形をつくる)

  • 等周問題で!

    等周問題で,最適制御を使った問題ですが, 最後の結論のところの計算が分からないので教えてください. ■結論は, (注意)dx/dtを x(・)と表記します.     (dx/dt)^2 は,x(・)^2 と表記します. x(・) / {√1+x(・)^2} = A + B*t は,円の弧である (x-x1)^2 + (t-t1)^2 = r^2 を満たすというもので,簡単に証明できると 書いてあります.教えてください. ■問題を解くのに必要ないのかもしれませんが,一応,以下に,等周問題を付記しておきます. 横軸のt軸上に2点(0点とT点)をとり, これらを結ぶ一定の長さのLの曲線とt軸とで取り囲まれる面積を最大にするという古典的な問題です.  ※この問題は,時間Tは指定,状態変数X(T)も指定 の問題です. 評価関数 Max:J=∫[0→T]xdt 制約条件 1)x(・)=u 初期条件x(o)=0 ,終端条件x(T)=0 2)∫[0→T](√1+u^2)dt=L (ただし,Lの長さ>Tの長さ)   この2)の長さの積分制約は,次の状態変数yを導入することで終端条件のある最適問題に帰すことが可能となる.  y(・)=( √1+u^2 )  初期条件y(0)=0,終端条件y(T)=L よって,ハミルトニアンは H=λu + δ( √1+u^2 )+ x である. (λ,σは,ラグランジェ乗数) 必要条件から, -λ(・)=1  ,  -σ(・)=0 したがって,この微分方程式を解くと,λは,時間tに関して線形,σは,定数である. また,最大化の必要条件から 制御変数uでHを微分すると бH/бu=λ+{σu/(√1+u)}=0 これに,制約条件のX(・)=u と λがtの線形,つまり,A+B*t を代入すれば,結論にある式となる.