Solving a Delay Differential Qquations that involves a mass matrix

I have a DAE system with constant time delay that involves mass matrix (i cannot invert the matrix because it's singular). Now, without a delay, Matlab could solve it with ode23s but i really don't know how should i proceed with the current situation, because dde23 has no option for mass matrix. Thanks in advance.

댓글 수: 4

You should include your DAE system - maybe someone here has an idea.
The Eq System in Matrix form is like this;
W*x_dot=U-G*x
Now since W has no inverse, i need to define W as mass matrix. The code below is giving error because i am desperately trying to multiply the right side of the Eq system with inv(W), to leave xdot alone.
R1=50;
L1=0.001;
ZL=120;
f=10000;
x0=zeros(6,1);
tao=11.55*1e-6;
G=[0 0 0 1 1 0; 0 0 0 0 0 0; 0 0 1/R1 0 0 1; 1 0 0 0 0 0; 1 0 0 0 -ZL 0; 0 0 1 0 0 -ZL];
W=[0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 -L1 0; 0 0 0 0 0 0];
dxdt= @(t,X,XL) (inv(W)*([0; 0; 0; sin(2*pi*f*t); XL(3,1)+(ZL*XL(6,1)); XL(2,1)+(ZL*XL(5,1))]-G*X));
slv = dde23(dxdt, tao, x0, [0 0.0005]);
Torsten
Torsten 2022년 12월 4일
편집: Torsten 2022년 12월 4일
I think you must have misunderstood something in the setup.
Your second equation reads 0=0 which can't be what you want.
It will be best to include the equations in mathematical notation, not as MATLAB code in order to avoid further errors.
Hello sir, this is a homework i am trying to do, so i might have some miscalculations on the mathematical model, i come up with 2 different Eq systems which can be true, since you said first one is wrong, it should be the second one i find. Here is the model:
However when i implement this into code, the issue i am dealing with still there: i cannot inverse the first matrix to leave X_Dot alone. I need to describe this matrix as Mass matrix. Normally i could do it with ode23s, but this system has a time delay, so ode won't work with it and dde23 has nor option for mass matrix. I hope i could adress my problem here. Thank you for your time.

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

답변 (1개)

Torsten
Torsten 2022년 12월 4일
편집: Torsten 2022년 12월 4일
Write out your system and you will find that
x3 = x6 = x7 = x8 = x9 = 0
and you are left with the equations
x1(t) = sin(2*pi*f*t)
-x4(t) + x5(t-tau) = 0
x4(t-tau) - x5(t) = 0
-x1(t) + x2(t) = 0
So no differential equations are left.
Better use pencil and paper than MATLAB to solve them.

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2022년 12월 4일

편집:

2022년 12월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by