フィルターのクリア

About double integral which includes non-linear equations in it

1 回表示 (過去 30 日間)
Mehmet
Mehmet 2013 年 11 月 23 日
コメント済み: Mehmet 2013 年 11 月 28 日
Hi I am a mechanical engineer and I am dealing with double integrals which includes nonlinear eauation but Matlab can t solve the problem exactly. I have been using int(int) but it doesn t work at a message appears like "Explicit integral could not be found". How can I solve this problem;
syms x y alpha beta V
K=1/(le/2-x*(sin(alpha*pi/180))*sin(beta*pi/180)-y*cos(alpha*pi/180))^2;
f=int ((K)*x,x,0,lm/2)
M=int(f,y,0,lm/2)
I also attached the real question. In this question I would like to have an equation related to V,alpha and beta.
E0 lm and Le are constants.
  2 件のコメント
Walter Roberson
Walter Roberson 2013 年 11 月 23 日
It is possible to find a closed form for f, but you need to go piecewise as some of the combinations of conditions can generate infinities. Some of the failing conditions are based mostly on the lm and le values, but others are based more on the angles. For example at -Pi to +Pi radians there get to be exceptions.
I do not have the formula up on my screen now as I made the mistake of trying to visualize at too high of a density and choked my system to a crawl by using up tons of memory :(
Mehmet
Mehmet 2013 年 11 月 25 日
Thank you Walter how can I solve this analytically?

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

採用された回答

Roger Stafford
Roger Stafford 2013 年 11 月 23 日
編集済み: Roger Stafford 2013 年 11 月 23 日
The symbolic toolbox is quite capable of solving your double integral. For simplicity of notation I substituted a = Le/2, b = -sin(alpha)*cos(beta), c = -cos(alpha), and d = lm/2. Here is the expression it gives after simplification:
int(int(x/(a+b*x+c*y)^2,x,0,d),y,0,d) =
(a+c*d)*log((a+b*d+c*d)/(a+c*d))-a*log((a+b*d)/a))/c/b^2
(In fact it is quite possible to solve this merely by looking it up in integral tables together with a certain amount of algebraic manipultion.)
There is one pitfall you need to be careful about. In the entire square range of 0<=x<=d and 0<=y<=d the quantity a+b*x+c*y must not cross zero. Otherwise the double integral becomes divergent and the above formula is invalid.
  7 件のコメント
Roger Stafford
Roger Stafford 2013 年 11 月 28 日
If you used the formula I gave you, the only way you could get a complex result would be to have a negative argument in one or both of the two logarithms, and that in turn would mean that the denominator of your integrand must have equaled zero somewhere within your square region, 0<=x<=d and 0<=y<=d. If you recall I warned you about that. It would mean that you have a divergent integral, and there is no remedy for that. In that sense your professor would be right. But surely you can easily check for that directly by considering the values of a, b, and c for x and y over the range from 0 to d. By the way, remember when using matlab's sin and cos, these assume that their arguments are in radians. You need to take that into account when evaluating b and c from alpha and beta.
Mehmet
Mehmet 2013 年 11 月 28 日
yeah I have solved it and changed the boundaries now I do not have imaginary parts. But at last I have two equations which are V1 and V2 and they include alpha and beta in themselves. I mean I have two equations and two unknowns (alpha beta). In my project I have to plot alpha versus V1 and alpha versus V2. But I do not know how to do it. Firstly I have to find a function for V1 and V2 related to alpha and beta. I have used these codes; Ty=Ty25; Tx=Tx25;
V1=vpa(solve(Ty-Ty25,V)); V1=vpa(eval(V1))
V2=vpa(solve(Tx-Tx25,V)); V2=vpa(eval(V2))
I must change V values from 0 to 100 and must show how alpha and beta change in two plot like this;

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by