필터 지우기
필터 지우기

Find integrand function from a convolution integral whose result is known

조회 수: 5 (최근 30일)
Raffaele
Raffaele 2023년 4월 28일
편집: Raffaele 2023년 4월 29일
Hello
I have this convolution integral: ∫[0,t] μ(t-τ)*(dy^(3/2) (τ))/dτ dτ (so a definite integral between 0 and t).
From a balance of forces I know the result of this integral, let's say by way of example that the equilibrium is:
M*y''(t) + K*y(t) = ∫[0,t] μ(t-τ)*(dy^(3/2) (τ))/dτ dτ
And I know the paremeters M, K and the variable y(t) (not as a continuous function but I know the values of y for a discrete vector time t). So, basically, I know everything from that equation except for the function μ(t), which is what I want to know.
Since in the convolution integral there is "(dy^(3/2) (τ))/dτ" which is a non linear function, I cannot use the Laplace trasform to invert the problem and easily find μ(t).
So the unique option is to solve it numerically and here is my problem: I don't know how to solve this prolem numerically and find μ(t), is there a matlab command that does this? Do you have any other suggestions?
To summarize and clarify therefore: I know the result (discretized as a function of the time vector) of the convolution integral, I know the function y(t) and I want to get the function μ(t), how can this be done?
Thank you!
  댓글 수: 9
John D'Errico
John D'Errico 2023년 4월 29일
편집: John D'Errico 2023년 4월 29일
Yes. In fact, this is certainly the approach I would try.
I don't know the domain, so I could not guess the proper family of functions for mu I would choose. It could be Legendre polynomials. It could be a trig series. It could be Bessel functions. In fact, I'd bet you could do this with a chebfun series, and it would be a breeze to write. Sadly, I lack expertise in using that toolbox, though it is high on my to do list. I would NOT try it using simple polynomials, because they will cause numerical problems. But again, the domain will be highly important. (My advice is to try chebfun. In fact, I did a quick online search for how to solve such a problem, and chebfun was one of the most common hits I saw.)
What order spline would I use for y(t)? I'd start with a cubic spline. They are easy to use an manipulate. Easy to differentiate. The same applies to a higher order spline. You can build that using the splines tools in MATLAB, and operate on them as easily.
Ok, I'll also admit that chebfun might be an option to model y(t). Again, I don't know the real capabilities of chebfun. But then the whole process becomes yet more easy. (I'm really making a big case for me to spend serious time learning chebfun. UGH.)
Note that IF there is noise in y(t), then you may be in deep trouble, as the deconvolution process will probably be ill-posed, in the sense that it will amplify that noise. This is a characteristic of integral equations. They are noise amplifiers.
Without seeing any data, I can only suggest what I would try as my first and best shot. Note that my suggestion is a (relatively) easy one to implement.
Raffaele
Raffaele 2023년 4월 29일
편집: Raffaele 2023년 4월 29일
Thanks you very much! I will try this approach

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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Splines에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by