Saturday, February 27, 2010

GNU Octaveで2次系のボード線図

GNU Octave(MATLAB互換の数値解析ソフト)で2次系のボード線図を求めてみる。

ボード線図は、以下の関数を用いる。
[MAG, PHASE, W] = bode (SYS, W, OUT_IDX, IN_IDX)
伝達関数は、以下の関数を用いる。
tf (NUM, DEN, TSAM, INNAME, OUTNAME)

①ζ=0.3, 1.0, 2.0 (ωn=1.0)のとき

%2次系のボード線図,ζ依存性
clf

%ωn=1.0,ζ=0.3,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([1.0^2],[1 2*0.3*1.0 1.0^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"1")
legend("zeta=0.3")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"1")
legend("zeta=0.3")
hold on;

%ωn=1.0,ζ=1.0,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([1.0^2],[1 2*1.0*1.0 1.0^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"2")
legend("zeta=1.0")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"2")
legend("zeta=1.0")
hold on;

%ωn=1.0,ζ=2.0,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([1.0^2],[1 2*2.0*1.0 1.0^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"3")
legend("zeta=2.0")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"3")
legend("zeta=2.0")
hold on;

%x軸=10E-2~10E+2,y軸=-100~20
subplot(2,1,1);
axis([10^-2 10^2 -100 20])
xlabel("omega(rad/sec)")
ylabel("gain(dB)")
title("bode plot (omega_n = 1.0)")
grid;

%x軸=10E-2~10E+2,y軸=-180~0
subplot(2,1,2);
axis([10^-2 10^2 -180 0])
xlabel("omega(rad/sec)")
ylabel("phase(deg)")
grid;

%pngファイルに保存
print -dpng bode1.png



②ωn=0.5, 1.0, 2.0 (ζ=0.3)のとき、

%2次系のボード線図,ωn依存性
clf

%ωn=0.5,ζ=0.3,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([0.5^2],[1 2*0.3*0.5 0.5^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"1")
legend("omega_n=0.5")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"1")
legend("omega_n=0.5")
hold on;

%ωn=1.0,ζ=0.3,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([1.0^2],[1 2*0.3*1.0 1.0^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"2")
legend("omega_n=1.0")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"2")
legend("omega_n=1.0")
hold on;

%ωn=2.0,ζ=0.3,ω=10^-2~10^2,データ数=1000のとき
[mag,pha,frq]=bode(tf([2.0^2],[1 2*0.3*2.0 2.0^2]),logspace(-2,2,1000));

subplot(2,1,1);
semilogx(frq,20*log10(mag),"3")
legend("omega_n=0.2")
hold on;

subplot(2,1,2);
semilogx(frq,pha,"3")
legend("omega_n=0.2")
hold on;

%x軸=10E-2~10E+2,y軸=-100~20
subplot(2,1,1);
axis([10^-2 10^2 -100 20])
xlabel("omega(rad/sec)")
ylabel("gain(dB)")
title("bode plot (zeta = 0.3)")
grid;

%x軸=10E-2~10E+2,y軸=-180~0
subplot(2,1,2);
axis([10^-2 10^2 -180 0])
xlabel("omega(rad/sec)")
ylabel("phase(deg)")
grid;

%pngファイルに保存
print -dpng bode2.png

Friday, February 26, 2010

GNU Octaveで2次系のステップ応答

GNU Octave(MATLAB互換の数値解析ソフト)で2次系のステップ応答ステップ応答を求めてみる。

ステップ応答は、以下の関数を用いる。
[Y, T] = step (SYS, INP, TSTOP, N)
伝達関数は、以下の関数を用いる。
tf (NUM, DEN, TSAM, INNAME, OUTNAME)

①ζ=0.3, 1.0, 2.0 (ωn=1.0)のとき、

%2次系のステップ応答,ζ依存性
clf

%ωn=1.0,ζ=0.3,時間=20sec,データ数=1000のとき
[y,t]=step(tf([1.0^2],[1 2*0.3*1.0 1.0^2]), 1, 20, 1000);
plot(t,y,"1")
legend("zeta=0.3")
hold on;

%ωn=1.0,ζ=1.0,時間=20sec,データ数=1000のとき
[y,t]=step(tf([1.0^2],[1 2*1.0*1.0 1.0^2]), 1, 20, 1000);
plot(t,y,"2")
legend("zeta=1.0")
hold on;

%ωn=1.0,ζ=2.0,時間=20sec,データ数=1000のとき
[y,t]=step(tf([1.0^2],[1 2*2.0*1.0 1.0^2]), 1, 20, 1000);
plot(t,y,"3")
legend("zeta=2.0")
hold on;

%x軸=0~20,y軸=0~1.4
axis([0 20 0 1.4])
xlabel("time(sec)")
%ylabel("")
title("Step Responce (omega_n = 1.0)")
grid;

%pngファイルに保存
print -dpng step1.png



②ωn=0.5, 1.0, 2.0 (ζ=0.3)のとき、

%2次系のステップ応答,ωn依存性
clf

%ωn=0.5,ζ=0.3,時間=20sec,データ数=1000のとき
[y,t]=step(tf([0.5^2],[1 2*0.3*0.5 0.5^2]), 1, 20, 1000);
plot(t,y,"1")
legend("omega_n=0.5")
hold on;

%ωn=1.0,ζ=0.3,時間=20sec,データ数=1000のとき
[y,t]=step(tf([1.0^2],[1 2*0.3*1.0 1.0^2]), 1, 20, 1000);
plot(t,y,"2")
legend("omega_n=1.0")
hold on;

%ωn=2.0,ζ=0.3,時間=20sec,データ数=1000のとき
[y,t]=step(tf([2.0^2],[1 2*0.3*2.0 2.0^2]), 1, 20, 1000);
plot(t,y,"3")
legend("omega_n=2.0")
hold on;

%x軸=0~20,y軸=0~1.4
axis([0 20 0 1.4])
xlabel("time(sec)")
%ylabel("")
title("Step Responce (zeta = 0.3)")
grid;

%pngファイルに保存
print -dpng step2.png

Sunday, February 07, 2010

App Storeでランキングのダブり

なぜか、App Storeのランキングで25位と26位に、Google Earthがダブっていた。記録に残しておく。

Sunday, January 31, 2010

Chain Reaction Cycles (CRC) での購入方法・手順のメモ

イギリスの自転車・パーツのネット通販Chain Reaction Cycles (CRC)を日本から利用した。
購入方法・手順のメモしておく。

・買い物かご(Basket)の画面から、Proceed Check Outのボタンで購入手続きに進む。
・請求先住所(BILLING ADDRESS), 配送先住所(DELIVERY ADDRESS)や配送会社(POSTAGE DETAILS)とかを入力・選択していく。
・支払い方法(PAYMENT DETAILS)を指定する。
※今回はクレジットカード(VISA)を選択。PayPalとかもつかえる模様。
Start Dateはカードに書いていないので記入しなかった。
Issue NumberもSwitch/Maestro/Solo cards onlyと書いてあるので記入しなかった。
・Place Orderで注文完了。ORDER SUCCESSFULLY COMPLETEDと表示され、同時に注文完了のメールが届く。
・その後、商品が発送されると、その旨のメールが届く。後は商品が届くのを待つ。

2010/1/10 商品発注
2010/1/12 商品発送
2010/1/26 商品到着


指定した配送会社は、送料の一番安かったRoyal Mail International。
そのほかにも、Parcel Force InternationalやUPS Express Saverが選択可能だった。
購入金額が一定額以上では、送料無料になる模様。
economy serviceで発送されたので、荷物のtracking(追跡)ができなかった。
通常5-8 working daysで届くと書いてあるが、平日で勘定すると11日かかった。

https://www.chainreactioncycles.com/ShippingMethodDisplay.aspx?ShippingMethodID=112
Older Post Older Post