Why doesnt matlab simplify the calculations.How could i improve my code?

%In determining the load distribution in axial thrust bearings under an eccentric load,the following integral must be evaluated:
e=0.6;
m=0||1;
syms x
c=1.1;
a=(cos(1-2.*e));
na=-1.*(cos(1-2.*e));
eqn=@(x) (([1+(-1+acos(x))/(2.*e)].^(c)).*(cos(m.*x)));
Im=(1/(2*pi))*(int(eqn,x,na,a));
pretty(Im)

Réponses (2)

In your problem, there may not be an analytical expression for the integral. If you want the numerical value, use the vpa function:
e=0.6;
m=0.1;
syms x
c=1.1;
a=(cos(1-2.*e));
na=-1.*(cos(1-2.*e));
eqn=@(x) (([1+(-1+acos(x))/(2.*e)].^(c)).*(cos(m.*x)));
Im=(1/(2*pi))*(int(eqn,x,na,a));
Im = simplify(Im, 'Steps',10); % Symbolic Simplification
pretty(Im)
Im_val = vpa(Im) % Numeric Value
Im_val =
0.48167541183902032831734712665393
I don’t know what you want for ‘m’. What you posted for it doesn’t make sense. Change it in my code to whatever it needs to be.

3 commentaires

In the problem it says m= 0 or 1. also the answer is I1(0.6) = 0.2416. Im not sure how they arrive at that .
To reach that integral with those equations, m would have to be about 1.9242
Alternately, with m = 1, the value 0.2416 would be reached with e approximately 0.96

Connectez-vous pour commenter.

int() is not documented as accepting a function handle, only a symbolic expression or symbolic function.

Community Treasure Hunt

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

Start Hunting!

Translated by