# obtaining large numbers while using syms

62 ビュー (過去 30 日間)
mojtaba najafi 2020 年 12 月 31 日

Hello, I have a matrix which vontains symbols:
kesi_eta=[1/sqrt(3) 1/sqrt(3)
-1/sqrt(3) 1/sqrt(3)
-1/sqrt(3) -1/sqrt(3)
1/sqrt(3) -1/sqrt(3)];
Kij_new=0;
for i=1:4
kesi=kesi_eta(i,1);
eta=kesi_eta(i,2);
B=(1/4).*[1+eta 0 -1-eta 0 -1+eta 0 1-eta 0
0 1+kesi 0 1-kesi 0 -1+kesi 0 -1-kesi
1+kesi 1+eta 1-kesi -1-eta -1+kesi -1+eta -1-kesi 1-eta];
J=[Lx/2 0
0 Ly/2];
Bhat=(1/(2*Lx*Ly)).*[Ly*(1+eta) 0 -Ly*(1+eta) 0 -Ly*(1-eta) 0 Ly*(1-eta) 0
0 Lx*(1+kesi) 0 Lx*(1-kesi) 0 -Lx*(1-kesi) 0 -Lx*(1+kesi)
Lx*(1+kesi) Ly*(1+eta) Lx*(1-kesi) -Ly*(1+eta) -Lx*(1-kesi) -Ly*(1-eta) -Lx*(1+kesi) Ly*(1-eta)];
D_red=[1/E -v/E 0;
-v/E 1/E 0;
0 0 1/G];
C=D_red^-1;
Kij=Bhat.'*C*Bhat*h*det(J);
Kij1=Kij;
Kij_old=Kij_new+Kij1;
Kij_new=Kij_old;
end
and the out put gives me very large numbers without simplification.even when I use function simplify(), I face these numbers:
[ (72115234146317045769238718114163*E*h*(9*v - 17))/(2596148429267413814265248164610048*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (3*E*h*(13521606402434444180830355908725*v + 10516804979671237742249216795996))/(324518553658426726783156020576256*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(4507202134144814726943451969575*E*h*(9*v - 17))/(324518553658426726783156020576256*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(3*E*h*(216345702438951137307716154342489*v - 120192056910528423132922512324889))/(2596148429267413814265248164610048*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1))]
[ -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (72115234146317045769238718114163*E*h*(2*v - 11))/(1298074214633706907132624082305024*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(3*E*h*(24038411382105681923079572704721*v + 30048014227632094800241850930179))/(649037107316853453566312041152512*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(4507202134144814726943451969575*E*h*(2*v - 11))/(162259276829213363391578010288128*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (3*E*h*(24038411382105678543698410504400*v + 192307291056845458764017743838089))/(1298074214633706907132624082305024*(v^2 - 1))]
[ (3*E*h*(13521606402434444180830355908725*v + 10516804979671237742249216795996))/(324518553658426726783156020576256*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (72115234146317045769238718114163*E*h*(9*v - 17))/(2596148429267413814265248164610048*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(3*E*h*(216345702438951137307716154342489*v - 120192056910528423132922512324889))/(2596148429267413814265248164610048*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(4507202134144814726943451969575*E*h*(9*v - 17))/(324518553658426726783156020576256*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1))]
[ -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(3*E*h*(24038411382105681923079572704721*v + 30048014227632094800241850930179))/(649037107316853453566312041152512*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (72115234146317045769238718114163*E*h*(2*v - 11))/(1298074214633706907132624082305024*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (3*E*h*(24038411382105678543698410504400*v + 192307291056845458764017743838089))/(1298074214633706907132624082305024*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(4507202134144814726943451969575*E*h*(2*v - 11))/(162259276829213363391578010288128*(v^2 - 1))]
[ -(4507202134144814726943451969575*E*h*(9*v - 17))/(324518553658426726783156020576256*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(3*E*h*(216345702438951137307716154342489*v - 120192056910528423132922512324889))/(2596148429267413814265248164610048*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (72115234146317045769238718114163*E*h*(9*v - 17))/(2596148429267413814265248164610048*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (3*E*h*(13521606402434444180830355908725*v + 10516804979671237742249216795996))/(324518553658426726783156020576256*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1))]
[ (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(4507202134144814726943451969575*E*h*(2*v - 11))/(162259276829213363391578010288128*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (3*E*h*(24038411382105678543698410504400*v + 192307291056845458764017743838089))/(1298074214633706907132624082305024*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (72115234146317045769238718114163*E*h*(2*v - 11))/(1298074214633706907132624082305024*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(3*E*h*(24038411382105681923079572704721*v + 30048014227632094800241850930179))/(649037107316853453566312041152512*(v^2 - 1))]
[ -(3*E*h*(216345702438951137307716154342489*v - 120192056910528423132922512324889))/(2596148429267413814265248164610048*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(4507202134144814726943451969575*E*h*(9*v - 17))/(324518553658426726783156020576256*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (3*E*h*(13521606402434444180830355908725*v + 10516804979671237742249216795996))/(324518553658426726783156020576256*(v^2 - 1)), (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (72115234146317045769238718114163*E*h*(9*v - 17))/(2596148429267413814265248164610048*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1))]
[ (324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), (3*E*h*(24038411382105678543698410504400*v + 192307291056845458764017743838089))/(1298074214633706907132624082305024*(v^2 - 1)), -(324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), -(4507202134144814726943451969575*E*h*(2*v - 11))/(162259276829213363391578010288128*(v^2 - 1)), -(324518553658426690754359001612289*E*h*(3*v - 1))/(2596148429267413814265248164610048*(v^2 - 1)), -(3*E*h*(24038411382105681923079572704721*v + 30048014227632094800241850930179))/(649037107316853453566312041152512*(v^2 - 1)), (324518553658426690754359001612289*E*h)/(2596148429267413814265248164610048*(v - 1)), (72115234146317045769238718114163*E*h*(2*v - 11))/(1298074214633706907132624082305024*(v^2 - 1))]
Can someone pleaaase help me? I have even used vpa() and still the problem has not been fixed
thank you
##### 1 件のコメント表示非表示 なし
Walter Roberson 2020 年 12 月 31 日
Sqrt = @(x) sqrt(sym(x)) ;
kesi_eta=[1/Sqrt(3) 1/Sqrt(3)
-1/Sqrt(3) 1/Sqrt(3)
-1/Sqrt(3) -1/Sqrt(3)
1/Sqrt(3) -1/Sqrt(3)];

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

### 回答 (2 件)

Ameer Hamza 2020 年 12 月 31 日
Specify the number of digits in vpa() to
vpa(x, 4)
##### 2 件のコメント表示非表示 1 件の古いコメント
Ameer Hamza 2020 年 12 月 31 日
What type of simplification do you want? The polynomials in numerators or denominators cannot be further simplified.

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

Walter Roberson 2020 年 12 月 31 日
%variables user did not define. Give them a definite value.
h = sym(5/3); E = sym(10000); v = sym(123); Lx = sym(28); Ly = sym(18); G = sym(42);
%proceed
Sqrt = @(x) sqrt(sym(x)) ;
kesi_eta=[1/Sqrt(3) 1/Sqrt(3)
-1/Sqrt(3) 1/Sqrt(3)
-1/Sqrt(3) -1/Sqrt(3)
1/Sqrt(3) -1/Sqrt(3)];
Kij_new=0;
for i=1:4
kesi=kesi_eta(i,1);
eta=kesi_eta(i,2);
B=(1/4).*[1+eta 0 -1-eta 0 -1+eta 0 1-eta 0
0 1+kesi 0 1-kesi 0 -1+kesi 0 -1-kesi
1+kesi 1+eta 1-kesi -1-eta -1+kesi -1+eta -1-kesi 1-eta];
J=[Lx/2 0
0 Ly/2];
Bhat=(1/(2*Lx*Ly)).*[Ly*(1+eta) 0 -Ly*(1+eta) 0 -Ly*(1-eta) 0 Ly*(1-eta) 0
0 Lx*(1+kesi) 0 Lx*(1-kesi) 0 -Lx*(1-kesi) 0 -Lx*(1+kesi)
Lx*(1+kesi) Ly*(1+eta) Lx*(1-kesi) -Ly*(1+eta) -Lx*(1-kesi) -Ly*(1-eta) -Lx*(1+kesi) Ly*(1-eta)];
D_red=[1/E -v/E 0;
-v/E 1/E 0;
0 0 1/G];
C=D_red^-1;
Kij=Bhat.'*C*Bhat*h*det(J);
Kij1=Kij;
Kij_old=Kij_new+Kij1;
Kij_new=Kij_old;
end
simplify(Kij_new)
ans =

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

### カテゴリ

Find more on Symbolic Math Toolbox in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by