Tengo una caja de herramientas aritmética de coma flotante de precisión general en MATLAB, que no requiere la caja de herramientas simbólica. Está disponible en File Exchange ahora. A modo de ejemplo, en 200 dígitos de precisión ...
>> X = hpf('1.2',200)
X =
1.2
>> X^723 - 2
ans =
1770275636625441478440184064843963160282702377364043536065.674784028
335311702907341138106304578079399191891193908698215227428501441099262538
4031886249461115861966367898404170725299823585166135087107488
Si desea hacer todo de su aritmética en 200 dígitos de precisión cuando se emplean números de HPF, a continuación, sólo especifican que como predeterminado.
>> DefaultNumberOfDigits 200
>> hpf('pi')
ans =
3.141592653589793238462643383279502884197169399375105820974944592307
816406286208998628034825342117067982148086513282306647093844609550582231
7253594081284811174502841027019385211055596446229489549303819
HPF no es una verdadera herramienta de precisión variable, ya que funciona en un número fijo de dígitos. Es razonablemente eficiente hasta unas pocas decenas de miles de dígitos. Entonces, para obtener 100 dígitos de exp (pi), esto toma alrededor de 1/4 de segundo.
>> timeit(@() exp(hpf('pi',100)))
ans =
0.2643
Trig funciones también. Aquí 1000 dígitos del pecado (pi). Debería ser cero, por supuesto.
>> tic,sin(hpf('pi',1000)),toc
ans =
0
Elapsed time is 0.201679 seconds.
Actualmente estoy tratando de resolver el problema usando la caja de herramientas simbólica. Sin embargo, sería genial si pudiera enviarme el código de la caja de herramientas aritmética de coma flotante de precisión general. – Dev
HPF está ahora en el intercambio de archivos. http://www.mathworks.com/matlabcentral/fileexchange/36534-hpf-a-big-decimal-class- current-in -beta-release –
De acuerdo con la documentación en PDF, esta caja de herramientas implementa adición, multiplicación, división, ' 1/x, sqrt (x), 1/sqrt (x), exp (x), ln (x), 2^x, log2 (x), sin (x), cos (x), tan (x), arcsin (x), arccos (x), arctan (x), senh (x), cosh (x), tanh (x), arsinh (x), arcosh (x), artanh (x) '. –