Initial value for a transfer function

조회 수: 33 (최근 30일)
Aizat BIN AZMI
Aizat BIN AZMI 2016년 4월 29일
댓글: Parth Chandak 2017년 10월 20일
Hello, I'm working on a simulink model of a heat exchanger. I already got the transfer function of my system. It is a second order transfer function. However, i have a slight problem where i should start at 50 at t=0 and end at Tref(value that i want, for example 20). I know that i can convert my transfer function to state-space block where i can define the initial value but it did not work.
In the state-space block I put initial condition to 50. But as you can see in the result, it starts at 0. Thank you to anyone that can help.
So if anyone can help, i really appreciate it.
-Aizat
  댓글 수: 4
Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 29일
What is the value of your vector C, in your state space model?
Aizat BIN AZMI
Aizat BIN AZMI 2016년 4월 29일
Here is the values of all 4 vectors after I did a conversion of tf2ss.
A1 =
-0.0071 -0.0000
1.0000 0
B1 =
1
0
C1 =
0 0.0013
D1 =
0

댓글을 달려면 로그인하십시오.

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2016년 4월 29일
편집: Azzi Abdelmalek 2016년 4월 29일
From your second order state space model,you have
y=C*[x1;x2]
Then if you want to set initial conditions to your states x1 and x2, you should type a vector [x10;x20], then the initials condition for y will be:
y0=C*[x10;x20]
  댓글 수: 5
Aizat BIN AZMI
Aizat BIN AZMI 2016년 4월 29일
It works very well. Thank you so much. I appreciate it.
Parth Chandak
Parth Chandak 2017년 10월 20일
How to model the system after you get y and y0? Can you explain that?
clear all
clc
w = 1;
z = 0.2;
x_0 = [1;1];
xdot_0 = [1;5];
num = [0,0,w^2]
den = [1,2*z*w,w^2]
[A,B,C,D] = tf2ss(num,den)
y_0 = C*x_0
ydot_0 = C*xdot_0
sys= ss(A,B,C,D);
H=tf(sys);
stepplot(H)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Additional Math and Discrete에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by