How can I get the transfer function G(s) = (X2(s)-W(s))/W(s)

8 ビュー (過去 30 日間)
Bob 2016 年 4 月 23 日
コメント済み: Walter Roberson 2020 年 11 月 29 日
According to the site below, how can I get the transfer function G(s) = (X2(s)-W(s))/W(s)
m1 = 2500; % (kg)
m2 = 320; % (kg)
k1 = 80000; % (N/m)
k2 = 500000; % (N/m)
b1 = 350; % (N*s/m)
b2 = 15020; % (N*s/m)
%%Transfer Function (Open Loop)
% Displacement Of Sprung Mass G(s) = X1(s)/W(s)
num1 = [(0) (0) (b1*b2) (b1*k2+b2*k1) (k1*k2)];
den1 = [(m1*m2) (m1*b1+m1*b2+m2*b1) (m1*k1+m1*k2+m2*k1+b1*b2) (b1*k2+k1*b2) (k1*k2)];
G1 = tf(num1,den1);
% Suspension Deflection G(s) = (X1(s)-X2(s))/W(s)
num2 = [(0) (-m1*b2) (-m1*k2) (0) (0)];
den2 = [(m1*m2) (m1*b1+m1*b2+m2*b1) (m1*k1+m1*k2+m2*k1+b1*b2) (b1*k2+k1*b2) (k1*k2)];
G2 = tf(num2,den2);
% Tire Deflection G(s) = (X2(s)-W(s))/W(s)
% num3 = [];
% den3 = [];
% G3 = tf(num3,den3);
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2016 年 4 月 23 日
I can't open your link. Can you clarify your question?



Star Strider
Star Strider 2016 年 4 月 23 日
It seems to me that you just copy it from the website and paste it to a tab in your Editor, just like I copied it and pasted it here:
M1 = 2500;
M2 = 320;
K1 = 80000;
K2 = 500000;
b1 = 350;
b2 = 15020;
s = tf('s');
G1 = ((M1+M2)*s^2+b2*s+K2)/((M1*s^2+b1*s+K1)*(M2*s^2+(b1+b2)*s+(K1+K2))-(b1*s+K1)*(b1*s+K1));
G2 = (-M1*b2*s^3-M1*K2*s^2)/((M1*s^2+b1*s+K1)*(M2*s^2+(b1+b2)*s+(K1+K2))-(b1*s+K1)*(b1*s+K1));
If you want to know how it was derived, that is described in detail on the page.
  4 件のコメント
Star Strider
Star Strider 2016 年 4 月 23 日
My pleasure.
When I looked at it again, the wheel-tire system looks like a simple spring-mass-damper that could be modeled by a second-order linear ordinary differential equation. (You could solve that on paper easily with Laplace transforms, or with the Symbolic Math Toolbox, or code it as an anonymous function to use ode45.)
I’m not a mechanical engineer, but spring-mass-damper systems seem to be modeled by the same dynamics whether the spring is in series or in parallel with the dashpot. (In an electrical circuit, series systems would be modeled differently than parallel systems, because of Kirchoff’s laws.)


その他の回答 (1 件)

Thomas John
Thomas John 2020 年 11 月 29 日
A=[(1100*s+2200) -(1100*s+2200) 0;
-(1100*s+2200) (1100*s^2+3300*s+4400) -(1100*s+2200);
0 -(1100*s+2200) (1100*s^2+3300*s+4400)];
A2=[(1100*s+2200) -(1100*s+2200) 0;
U 0 0;
0 -(1100*s+2200) (1100*s^2+3300*s+4400)];
i need to find det(A2)/det(A) but i end up with error
  2 件のコメント
Walter Roberson
Walter Roberson 2020 年 11 月 29 日
If you had done
s = tf('s')
then you cannot proceed because tf does not permit unresolved variables such as U.
So use the symbolic toolbox
syms s U
and proceed. You will probably want to simplify()
The result will be a typical transfer function but one that has a gain of U/1100. You cannot bring that back as a tf for Control Systems purposes as the toolbox does not permit unresolved parameters.
The toolbox does permit tunable parameters, which always have a current value but the value is easily changed, including possibly automatically by tuning procedures.



Find more on Dynamic System Models in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by