Solving a system of integral equations self-consistently
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
SACHIN VERMA
le 13 Nov 2020
Modifié(e) : SACHIN VERMA
le 13 Nov 2020
Hi I have four integral equations with four unknowns I need to solve these equations self-consistently. Previously I solved two integral equations self-consistently in matlab and now trying solve four or multiple integral equations. The four sample equations with unknowns a,b,c and d are attached below. I don't need a complete code but a rough idea how solve such system of equations. (Note that the equations attached are not actual complex equations which I need to solve but these simpler equations gives an idea of the problem) Any help would be appreciated! Thanks
0 commentaires
Réponse acceptée
Bjorn Gustavsson
le 13 Nov 2020
Why doesn't your solution to two (I assume similar) integral equations work for this case?
Here's a QD-cookup (that doesn't work too well for your possibly illposed example):
% Integration-function, ought to be adaptible, doesn't work too well in this example
Q1 = @(pars) integral(@(x) (pars(1)*x+pars(2))./(pars(3)*x+pars(4)),-inf,0);
% Sum-of-squared residuals function:
errfcn = @(pars) ( (pars(1) -Q1(pars([3 2 1 4])) )^2 + ...
(pars(2) -Q1(pars([1 4 2 3])) )^2 + ...
(pars(3) -Q1(pars([2 4 3 1])) )^2 + ...
(pars(4) -Q1(pars([1 2 4 3])) )^2 );
% Residual-function:
resfcn = @(pars) [(pars(1) -Q1(pars([3 2 1 4])) );
(pars(2) -Q1(pars([1 4 2 3])) );
(pars(3) -Q1(pars([2 4 3 1])) );
(pars(4) -Q1(pars([1 2 4 3])) )];
% Solution with fmnisearch:
par1 = fminsearch(@(pars) errfcn(pars),[1 1 1 1]);
% Solution with lsqnonlin:
par2 = lsqnonlin(@(pars) resfcn(pars),[1 1 1 1],[0 0 0 0],1e12*[1 1 1 1]);
Hopefully your integrals are at least nicely behaved enough that there are parameters that makes them all converge over the integration intervall.
HTH
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!