solve multiple algebric integral equations

Hi I have three equations and three unknowns I need to solve these.
Two of the equations are integral equations
Could Matlab do that ?
unknowns are a,b,c. equations:
0 = integral (c^2/(a-(x-1/2)*b-1/2*sin(pi*x))^2) dx , from x=0 to x=1.
0 = integral (x-1/2)*(1-c)^2/(1-a +(x-1/2)*b-1/2*sin(pi*x))^2 dx , from x=0 to x=1.
0 = c^2-2*c^2*a-a^2-a*b+b^2/4-2*a*b*c ..
I need to solve these three equations to find three unknowns a,b,c.
x is double variable from 0 to 1 with the increnment of 0.01. So we have 101 x values.
Could I find the answer numerically?
I have R2014b version.

4 件のコメント

John D'Errico
John D'Errico 2015 年 1 月 31 日
編集済み: John D'Errico 2015 年 1 月 31 日
It COULD. But then again, maybe it could not. You never know. And how can we possibly know if you do not show us what they are?
Are you looking for a symbolic solution, or a numerical one?
What version of MATLAB do you have? The symbolic TB? The optimization TB?
The point is you need to be more forthcoming with details, else we cannot help.
The crystal ball is so cloudy today.
Meva
Meva 2015 年 1 月 31 日
編集済み: Meva 2015 年 1 月 31 日
Hi John,
unknowns are a,b,c. equations:
0 = integral (c^2/(a-(x-1/2)*b-1/2*sin(pi*x))^2) dx , from x=0 to x=1.
0 = integral (x-1/2)*(1-c)^2/(1-a +(x-1/2)*b-1/2*sin(pi*x))^2 dx , from x=0 to x=1.
0 = c^2-2*c^2*a-a^2-a*b+b^2/4-2*a*b*c ..
I need to solve these three equations to find three unknowns a,b,c.
x is double variable from 0 to 1 with the increnment of 0.01. So we have 101 x values.
Could I find the answer numerically?
I have R2014b version.
Matt J
Matt J 2015 年 1 月 31 日
I wonder if the equations are correct. The first equation only has a solution if c=0, since the integrand is non-negative everywhere. If c=0, then the 3rd equation implies one of 2 possible relationships between a and b
a = b*(sqrt(2)-1)/2
or
a = b*(-sqrt(2)-1)/2
Meva
Meva 2015 年 2 月 1 日
Hi Mett,
The equations are not like that actually so complicated.
I just have simplified them in order to represent.

サインインしてコメントする。

 採用された回答

Matt J
Matt J 2015 年 2 月 1 日
編集済み: Matt J 2015 年 2 月 1 日

0 投票

You can try FSOLVE, if you have the Optimization Toolbox and if the dependence of the equations on the unknown parameters is smooth.
Otherwise, if you have just a few unknowns, you can try FMINSEARCH, using it to minimize the violation of your equations. For example, to solve the equations
a+b=1,
a-b=-1,
you could do
violation=@(x) norm([sum(x)-1;-diff(x)+1]);
ab=fminsearch( violation, [1,1])
a=ab(1);
b=ab(2);
except you would use your actual equations, of course.

2 件のコメント

Meva
Meva 2015 年 2 月 1 日
Thanks Matt,
I have optimisation toolbox.
Next step will be how to use this toolbox to solve my problem.
Matt J
Matt J 2015 年 2 月 1 日
編集済み: Matt J 2015 年 2 月 1 日
Well, the documentation for fsolve should probably be all you need. It gives simple examples and everything. Basically, you need to write a function that creates a vector of all right hand side values of your equations.
function F=myobjective(parameters)
a=parameters(1);
b=parameters(2);
c=parameters(3);
eq1=@(x) @(x)c.^2./(a-(x-1./2).*b-1./2.*sin(pi.*x)).^2
eq2=@(x) (x-1./2).*(1-c).^2./(1-a+(x-1./2).*b-1./2.*sin(pi.*x)).^2
F(1) = integral(eq1, 0,1);
F(2) = integral(eq2,0,1);
F(3) = c^2-2*c^2*a-a^2-a*b+b^2/4-2*a*b*c
end
solution = fsolve(@myobjective, pInitial,...)

サインインしてコメントする。

その他の回答 (1 件)

Matt J
Matt J 2015 年 1 月 31 日

0 投票

I wonder if the equations are correct. The first equation only has a solution if c=0, since the integrand is non-negative everywhere. If c=0, then the 3rd equation implies one of 2 possible relationships between a and b
a = b*(sqrt(2)-1)/2
or
a = b*(-sqrt(2)-1)/2
This reduces the 2nd equation to an equation in 1 variable, and you can solve with fzero.

カテゴリ

質問済み:

2015 年 1 月 31 日

編集済み:

2015 年 2 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by