Initial value for a transfer function

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 日
How did you set your initial conditions?
Aizat BIN AZMI
Aizat BIN AZMI 2016 年 4 月 29 日
I set in the state-space. Initial condition, and i put 50 because i want it starts from 50.
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 日

1 投票

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 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 4 月 29 日
For your case, to get 50 as initial conditions for y, set your initial conditions with the vector
[0 50/0.0013]
Aizat BIN AZMI
Aizat BIN AZMI 2016 年 4 月 29 日
If i may ask, how do you find this value? How by putting vector [0 50/0.0013] as initial value and it works?
Azzi Abdelmalek
Azzi Abdelmalek 2016 年 4 月 29 日
編集済み: Azzi Abdelmalek 2016 年 4 月 29 日
I already explained it in my answer.
y=C*[x1 x2]
If the initial conditions for your states are x01 and x02 then, the y0 will be
y0=[0 0.003]*[x01 ; x02]
y0=0.003*x02
Now if you want
y0=50,
then
x02=50/0.003
What you have to know is, the initial conditions are for your states x1 and x2.
For the question if it works, you have to tell me
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 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by