results are Fractional and long
조회 수: 2 (최근 30일)
이전 댓글 표시
i wrote this code:
clc
clear all
close all
%--------------------------------------------------------------------------
syms Alpha1 Betta2 Betta1 S1 S2 h q S
t=2;
R=27;
H=96;
h=13;
STRp=3.7;
STRy=360;
STRu=760;
Etta=0.75;
K=0.14;
n=1;
m=0.65;
Gamma0=2*n*h*Etta;
Alpha01=acos(m);
Betta02=acos(1-m);
STR0=sqrt((STRy*STRu)/(1+K));
Mp=(STR0*(t^2))/4;
Np=STR0*t;
%-----------------------------------------------
E_foam=(pi*((R-(t/2))^2)*STRp*2*h*Etta)
Eb=(4*pi*Mp)*(((R+(m*h))*acos(m))+(h*sqrt(1-m^2))+(R*asin(1-m))+((R-(h*(1-m)))*acos(1-m)+R*asin(m)))
Em=2*pi*Np*(h)^2
PART1=(STRp)*(2*pi)*(R);
Eint_AB1=int(int(-S1*PART1,S1,(m*h)/cos(Alpha1),h),Alpha1,acos(m),0)
PART2=(STRp)*(2*pi)*(R);
Eint_BC1=int(int((-S1*PART2),S1,0,h),Betta1,pi/2,acos(1-m))
PART3=(STRp)*(2*pi)*(R);
Eint_BC2=int(int((-S2*PART3),S2,0,((1-m)*h)/cos(Betta2)),Betta2,acos(1-m),0)
E_int=Eint_AB1+Eint_BC1+Eint_BC2
some of the results that matlab gives me are fractional and matlab will not solve them and show the result number, instead gives me some long answers
answers:
Eint_AB1 =
-(168831*pi*(95138542128201728*tan(7775121492917933/9007199254740992) - 194378037322948325))/2251799813685248000
Eint_BC1 =
(168831*pi*(pi/2 - 5463880662892063/4503599627370496))/10
Eint_BC2 =
(8272719*pi*tan(5463880662892063/4503599627370496))/4000
how can i simplify this results and find the final answer in a simpler form?
댓글 수: 0
채택된 답변
Stephan
2021년 2월 26일
double(Eint_AB1)
댓글 수: 1
John D'Errico
2021년 2월 26일
Or if you want a solution in the form of a symbolic number, but still in a long precision result, then
vpa(Eint_AB1)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Number Theory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!