Pregunta

Estoy trabajando en un proyecto (C # y .NET Framework), que me obliga a resolver algunas ecuaciones diferenciales parciales. ¿Hay algunas bibliotecas específicas basadas en .NET Framework que pude ver y hacer mi trabajo más sencillo?

He trabajado con MATLAB y la resolución de ecuaciones diferenciales parciales es muy sencillo allí. ¿Cómo puedo solucionar este problema?

¿Fue útil?

Solución

Usted podría resolver el problema en MATLAB y utilizar el MATLAB compilador + < a href = "http://www.mathworks.co.uk/products/netbuilder/" rel = "nofollow noreferrer"> Constructor NE caja de herramientas para crear un ensamblado de .NET que enlaza con el resto de su aplicación.

Otros consejos

depende de la PDE que desea resolver y cómo quiere acercarse a ellos.

Cada enfoque que yo sepa requerirá álgebra lineal. Usted querrá encontrar un buen paquete de matriz para .NET, lo mejor que se puede encontrar, uno que puede manejar matrices de escasa eficacia.

elíptica lineal (difusión en estado estacionario), parabólico (difusión transitoria), y PDEs hiperbólicas (F = ma dinámicos) requieren enfoques ligeramente diferentes.

Los tres de estos PDE puede usar diferencia finita clásica, de elementos finitos (ponderado residual), o los elementos de contorno (funciones de Green) para crear la matriz del sistema desea resolver. PDE no lineales generales son probablemente el mejor atacaron utilizando una técnica residual elemento / ponderado finito.

Sin embargo, los archivos PDF parabólicas e hiperbólicas se convertirán en conjuntos acoplados de ecuaciones diferenciales ordinarias una vez que los DISCRETIZE. Que tiene que hacer la integración transitoria para resolver repetidamente la evolución en el tiempo. ODEs parabólicos son de primer orden en el tiempo; ODEs hiperbólicos son de segundo orden en el tiempo.

Estoy aprendiendo sobre CUDA y NVIDIA. Es posible que desee ver en los enlaces de CUDA para su idioma.

Todos estos son grandes temas en sí mismos. Complacer Google para algunas fuentes, porque no es posible dar más de una rápida visión general aquí.

ACTUALIZACIÓN: Hace poco me di cuenta de la Fundación Solver de Microsoft . No he mirado en él mismo, pero tal vez sería útil para desarrolladores de C # en la solución de este problema.

Otra sugerencia es AlgLib . Me gusta esto porque a diferencia de las bibliotecas completas donde hay que encontrar lo que necesita, AlgLib tiene todas las algoritms separaron, y a menudo se ofrecen en varios idiomas (incluyendo C #, en la mayoría / todos los casos). En cuanto a cálculo AlgLib cubre:

        Euler's method
        Runge-Kutta method
        Runge-Kutta method for a system of ODEs
        Bulirsch-Stoer method for a system of ODEs

Una palabra de precaución, sin embargo ... en el control de estas algoritmo en AlgLib, que señaló que no fueron apoyados más (por AlgLib), debido a que sus licencias pueden ser imcompatible con licencia de AlgLib (que es GPL, creo).

http://www.mathdotnet.com/About.aspx , se puede tener lo que necesita. Sin embargo, sospecho que debe obtener la mejor biblioteca para usted los requisitos de la aplicación, y luego interactuar a su aplicación .NET ..

Es probable que encuentres que con este tipo de cosas (excepto donde se utiliza para aprender bien el idioma o las matemáticas) hay una serie de bibliotecas enlatados pre.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top