Diferenzas entre o cálculo simbólico e o numérico

Dicimos que unha linguaxe de computación ten implementado cálculo simbólico cando traballa con constantes e variables simbólicas. Por exemplo,

  • se x = √2, x representa exactamente a raíz cadrada de 2; así x² será a constante simbólica que representa o 2;
  • se x é unha variable simbólica, daquela y=x² representa á función matemática que consiste en elevar ao cadrado un número.
  • a integral indefinida de x² será outra expresión simbólica, y = x³/3+C.

Unha linguaxe que implementa o cálculo simbólico adoita chamarse sistema de álxebra computacional. As máis coñecidas son Magma, Mathematica, Maple e Maxima. A menor escala, Matlab e Octave tamén poden operar simbólicamente. O cálculo simbólico permite

  • simplificar expresións: por exemplo, pasar de (x+1)² a x²+2x+1;
  • calcular límites: p. ex., o límite de x²y cando x tende a 2 é 4y;
  • calcular derivadas e integrais indefinidas;
  • resolver de forma exacta ecuacións lineares ou non lineares;
  • resolver de forma exacta ecuacións diferenciais, etc.

Pero hai veces en que o cálculo simbólico non puede ser realizado, por limitacións do propio sistema ou por impedimentos de tipo matemático (por exemplo, hai integrais indefinidas que non se poden escribir explícitamente en termos das funcións habituais). E os programas sempre poden ter erros.

Cando falamos de cálculo numérico referímonos aos cálculos feitos únicamente con números máquina.

  • se x = √2, x almacena o número máquina máis próximo á raíz de 2, é dicir, 0.141421356237310e1; así x² será un número máquina próximo a 2, pero non igual.
  • as variables só almacenan números, non poden almacenar funcións como y=x². Unha función neste contexto, por exemplo exp(x), non é maís que un algoritmo numérico que, dado un valor concreto para x, devolve unha aproximación do valor da exponencial de x.
  • ao non poder manipular expresións, a integral indefinida non pode ser calculada; a integral definida si ten sentido, xa que dados dous números máquina, a e b, un algoritmo numérico pode aproximar o valor de \displaystyle\int_a^bx^2\,\mathrm{d}t.

O cálculo numérico é, por así dicilo, un idioma máis próximo ás computadoras, mentras que o cálculo simbólico é máis cercano á nosa forma de razonar. A limitación do cálculo numérico reside en que só pode obter resultados que sexan números: con cálculo numérico poderíamos saber que a derivada de x² en x=2 é 4, pero só con cálculo simbólico poderemos saber que a derivada de x² é a función 2x. Ademáis, o cálculo numérico adoita devolver resultados aproximados, non exactos (por exemplo, véxase a derivada numérica).

Porén, a vantaxe do cálculo numérico é que permite resolver aproximadamente moitos problemas nos que o cálculo simbólico ten limitacións, e con menor coste computacional.

A linguaxe orientada ao cálculo numérico máis coñecida é Matlab. Ademáis

  • GNU Octave pretende ser un clon de software libre de Matlab. Diferénzase na interfaz gráfica e nas toolboxes (por ejemplo, de cálculo simbólico);
  • Scilab foi desenvolto no INRIA. Non é totalmente compatible con Matlab, pero estase a traballar nun traductor de Matlab a Scilab.

Outras ferramentas de cálculo científico son:

  • R é unha linguaxe desenvolta principalmente para análise estatística;
  • Sage é unha aplicación para cálculo científico construída a partir de Python.
Advertisements
Esta entrada foi publicada en Matlab/Octave. Ligazón permanente.

Deixar unha resposta

introduce os teu datos ou preme nunha das iconas:

Logotipo de WordPress.com

Estás a comentar desde a túa conta de WordPress.com. Sair / Cambiar )

Twitter picture

Estás a comentar desde a túa conta de Twitter. Sair / Cambiar )

Facebook photo

Estás a comentar desde a túa conta de Facebook. Sair / Cambiar )

Google+ photo

Estás a comentar desde a túa conta de Google+. Sair / Cambiar )

Conectando a %s