Seleccionar un entorno de desarrollo. donde y es la función deseada, x es la variable independiente, f(x,y) es una función continua de xey. Sin embargo, no es posible obtener una solución analítica de esta ecuación para una función f suficientemente arbitraria, y sólo para algunos casos especiales.

Sea una ecuación diferencial de primer orden

con condición inicial

y(x 0) = y 0.

Elijamos el paso h e introduzcamos la siguiente notación:

x yo = x 0 + yo . h y y yo = y(xi) ,

donde yo = 0, 1, 2,…

x i – nodos de la cuadrícula,

y i - valor de la función integral en nodos .

La ecuación diferencial se resuelve de manera similar a los métodos descritos anteriormente. La diferencia es que el paso se divide en 4 partes.

Según el método de Runge-Kutta de cuarto orden, los valores sucesivos y i la función deseada y están determinados por la fórmula:

, yo = 0, 1, 2,…

y los numeros k 1 (yo), k 2 (yo), k 3 (yo), k 4 (yo) en cada paso se calculan utilizando las fórmulas:

Este es un método explícito de cuatro pasos con precisión de cuarto orden.

Los métodos de Runge-Kutta son fáciles de programar y tienen una precisión y estabilidad significativas para una amplia gama de problemas.

La figura 6 muestra un diagrama de flujo del procedimiento. RANGO(X0, XK, Y0, N, Y) resolver el problema de Cauchy utilizando el método de Runge-Kutta descrito anteriormente.


yo = 0,…, N-1

K1 = h * F(x, Yi)

K2 = h * F(x + h/2, Yi + K1 / 2)

K3 = h * F(x + h/2, Yi + K2 / 2)

K4 = h * F(x + h, Yi + K3)

K = (K1 + 2*K2 + 2*K3 + K4) / 6

Figura 6 - Diagrama de flujo del procedimiento RUNGE

La Figura 7 muestra un diagrama de bloques del algoritmo del programa principal para resolver el problema de Cauchy y obtener resultados con un número fijo de segmentos de partición N. En el programa principal, el procedimiento se llama RANGO(X0, XK, Y0, N, Y), calcular el valor de la función deseada yj en puntos xj por el método de Runge-Kutta.

Datos iniciales en este problema son:

X0, XK – valores inicial y final de la variable independiente;

Y0 – valor y 0 desde la condición inicial y(x 0) = y 0;

N – número de segmentos de partición.

Resultados del programa se muestran en dos columnas:

X – matriz de valores de nodos de la cuadrícula;

Y – conjunto de valores de la solución buscada en los nodos de la grilla correspondientes.


Entrada X0, XK, Y0, N


RANGO(X0,XK,Y0,N,Y)


yo=0…norte


Salida X, Y i


Figura 7 - Diagrama de bloques del algoritmo principal del programa para resolver el problema de Cauchy con un número fijo de segmentos de partición N


Resolver ecuaciones diferenciales en MathCad

Figura 8 - Un ejemplo de resolución de una ecuación diferencial usando el método

Órdenes de Runge-Kutta 4 en el entorno MathCad.

Funciones gráficas en el entorno Visual Basic.

La tarea de tabular funciones y construir sus gráficas es una de las principales tareas en el proceso de resolución de ecuaciones diferenciales ordinarias. Consideremos esta tarea con más detalle.

Tarea.

Construye una gráfica de la función y=sin(x) en el segmento. Tome el paso de tabulación igual a h.

Solución.

Para trazar un gráfico de función en el entorno Visual Basic, es conveniente utilizar algunos componentes gráficos.

Figura 9 - Ubicación de los componentes principales en la ventana General



El componente Picture Box() se utiliza como contenedor para trazar. Es una matriz de puntos (píxeles) y es posible controlar el color de cada punto individual. Las coordenadas de cualquier punto están determinadas por un par de números enteros: su número de serie en la fila X y el número de serie de la fila dentro del objeto Y. Por lo tanto, las coordenadas de la esquina superior izquierda del componente son (0, 0). . El número de puntos por línea y el número de líneas están determinados por el tamaño del componente.

Figura 10: Coordenadas del objeto PictureBox

En la Fig. La Figura 10 muestra la ubicación de los ejes y las coordenadas de los puntos de las esquinas del objeto.

El componente Line() se utiliza para trazar los ejes y segmentos de una gráfica poligonal de una función.

La esencia de construir un gráfico se reduce al hecho de que la función debe presentarse en forma de tabla (tabulada), y luego marcar los puntos en la plantilla del gráfico y conectarlos.

El algoritmo para construir un gráfico de funciones se muestra en la Figura 12. El algoritmo se puede modificar. En particular, algunos procedimientos podrán combinarse y el procedimiento podrá modificarse en algunos casos.

Veamos el algoritmo con más detalle.

Antes de implementar el algoritmo, es necesario describir la función de subrutina para trazar el gráfico. Esto es necesario para facilitar la modificación del programa. Si necesita trazar una gráfica de otra función, solo necesita cambiar la subrutina.

Además, antes de trazar un gráfico, es necesario crear y editar un formulario. Un ejemplo de desarrollo de un formulario se muestra en la Figura 11. En el formulario, debe colocar componentes para ingresar datos iniciales, un componente para imprimir una tabla, un botón de comando y un contenedor para colocar un gráfico (PictureBox). Dentro de PictureBox, debe dibujar ejes de coordenadas usando líneas rectas y colocar etiquetas para registrar los límites del segmento de valores de argumentos de función y los extremos de función en el segmento en cuestión.

La entrada de datos iniciales se realiza en el programa en cuestión presionando el botón de comando. Muy a menudo, la entrada de datos se implementa mediante el componente TextBox.

Es conveniente realizar el procedimiento de tabulación de funciones en bucle con un parámetro, ya que se conoce el número de puntos del gráfico a calcular. Antes de ejecutar el procedimiento, debe establecer el número de filas de la tabla.

El número de líneas se calcula mediante la fórmula k=n+2, donde k es el número de líneas y n es el número de secciones de tabulación. El número de líneas debe ser mayor que el número de segmentos en 2, ya que es necesario tener en cuenta el punto de partida (cero) y la línea para registrar los encabezados de las columnas de la página.

En el procedimiento de tabulación en sí, se pueden combinar dos acciones: tabulación y cálculo de extremos. Esta solución se muestra en el listado de programas de la Figura 13.

La principal dificultad al trazar es la transición del valor matemático de la función y el argumento a las coordenadas de la pantalla utilizadas para trazar el gráfico. Al resolver este problema, es necesario tener en cuenta la dirección opuesta de los ejes en el gráfico matemático y en el objeto PictureBox y la necesidad de escalar la imagen.

Los factores de escala del gráfico se calculan mediante las siguientes fórmulas:

donde kx es el factor de escala a lo largo del eje OX,

NPX: el número de píxeles del objeto PictureBox asignados para trazar horizontalmente,

a – el valor inicial del segmento del argumento de la función,

b – el valor final del segmento del argumento de la función.

,

donde Ky es el factor de escala a lo largo del eje OY,

NPY: el número de píxeles del objeto PictureBox asignados para construir un gráfico vertical,

min – valor mínimo de la función,

max – valor máximo de la función.

La traducción de las coordenadas matemáticas del punto actual a coordenadas de pantalla se realiza mediante las fórmulas:

zx = Ronda(ox + (x(i) - a) * kx),

zy = Ronda(oy - (y(i) - Min) * ky),

donde zx, zy – coordenadas de pantalla del punto actual,

ox, oy: coordenadas del punto de intersección de los ejes en el componente PictureBox,

x(i), y(i) – coordenadas matemáticas del punto actual,

kx, ky – factores de escala.

En la fórmula para calcular la ordenada en pantalla del punto actual, el signo menos se utiliza para tener en cuenta la dirección opuesta de los ejes (en la pantalla y en el gráfico).

El listado del programa para trazar una función se muestra en la Figura 13.

En las Figuras 14 y 15 se muestran ejemplos de formularios con los resultados del programa para diversos datos iniciales.

Figura 11 - Ejemplo de desarrollo de formulario

Figura 12 - Algoritmo para trazar un gráfico de función

Rem Descripción de variables

Dim x() como único, y() como único

Privado como soltero

Sea una ecuación diferencial de primer orden con la condición inicial y(x 0)=y 0. Elijamos el paso h e introduzcamos la notación:

x i = x 0 + ih y y i = y(x i), donde i = 0, 1, 2, ... .

De manera similar al método descrito anteriormente, la solución se prepara

ecuación diferencial. La diferencia es que el paso se divide en 4 partes.

Según el método de Runge-Kutta de cuarto orden, los valores sucesivos y i de la función deseada y están determinados por la fórmula:

y yo+1 = y yo +?y yo

donde yo = 0, 1, 2...

Y=(k1+2*k2+2*k3+k4)/6

Los números k1, k2, k3, k4 en cada paso se calculan utilizando las fórmulas:

k1 = h*f(xi, y yo)

k2 = f (x i +h/2, y i +k1 /2)*h

k3 = F(x i +h/2, y i +k2 /2)*h

k4 = F(xi +h, y yo +k3)*h

Este es un método explícito de cuatro pasos con 4 órdenes de precisión.

En la Figura 6 se muestra un diagrama de flujo del procedimiento para resolver una ecuación diferencial utilizando el método de Runge-Kutta.

F(x, y), una función dada, debe describirse por separado.

Parámetros de entrada:

X0, XK - inicial y final

valores de independiente

variable;

Y0 - valor y 0 de la condición inicial

N - número de segmentos de partición;

Parámetros de salida:

Y - matriz de valores de la solución deseada

en los nodos de la red.

Algoritmo para resolver el problema.

Solución en MathCAD

Listado de programas en lenguaje Visual Basic

Dim xr(), yr(), xe(), ye(), xo(), yo() como único

Privado x0, y0, h, xk, k1, k2, c, k3, k4, yd como único

Privado n, i como entero

Función pública f(ByVal a, ByVal b) como única

f = -(a - b) / a

Subbotón privado1_Click (remitente ByVal como System.Object, ByVal y como System.EventArgs) maneja Button1.Click

x0 = Val(CuadroDeTexto1.Texto)

xk = Val(CuadroTexto2.Texto)

y0 = Val(CuadroTexto4.Texto)

h = Val(CuadroTexto3.Texto)

norte = (xk - x0) / h

c = y0 / x0 + Math.Log(x0)

DataGridView1.ColumnCount = 4

DataGridView1.RowCount = n + 2

DataGridView1.Item(0, 0).Valor = "x"!}

DataGridView1.Item(1, 0).Value = "General"!}

DataGridView1.Item(2, 0).Value = "Euler M"!}

DataGridView1.Item(3, 0).Value = "Runge Kutt"!}

Para i = 0 Para n - 1

xe(i) = Math.Round((xe(0) + i * h), 2)

ye(i + 1) = ye(i) + h * f(xe(i) + h / 2, ye(i) + h / 2 * f(xe(i), ye(i)))

DataGridView1.Item(2, 1).Valor = sí(0)

DataGridView1.Item(0, 1).Valor = xe(0)

DataGridView1.Item(0, i + 1).Valor = xe(i)

DataGridView1.Item(2, i + 1).Valor = Str(ye(i))

Para i = 0 Para n - 1

xr(i) = Math.Round((xe(0) + i * h), 2)

k1 = h * f(xr(i), año(i))

k2 = h * f(xr(i) + h / 2, año(i) + k1 / 2)

k3 = h * f(xr(i) + h / 2, año(i) + k2 / 2)

k4 = h * f(xr(i) + h, año(i) + k3)

yd = (k1 + 2 * k2 + 2 * k3 + k4) / 6

año(i + 1) = año(i) + yd

DataGridView1.Item(3, 1).Valor = año(0)

DataGridView1.Item(3, i + 1).Valor = Str(año(i))

Para i = 0 Para n - 1

xo(i) = Math.Round((xe(0) + i * h), 2)

yo(i) = xo(i) * (c - Math.Log(xo(i)))

DataGridView1.Item(1, 1).Valor = yo(0)

DataGridView1.Item(1, i + 1).Valor = Str(yo(i))

Chart1.Series.Add("Solución general")

Chart1.Series("Solución general").ChartType = SeriesChartType.Line

Para i = 0 Para n - 1

Chart1.Series("Solución general").Points.AddXY(xo(i), yo(i))

Chart1.Series("Solución general").ChartArea = "ChartArea1"

Gráfico1.Series.Add("Euler M")

Chart1.Series("Euler M").ChartType = SeriesChartType.Point

Para i = 0 Para n - 1

Chart1.Series("Euler M").Points.AddXY(xe(i), ye(i))

Chart1.Series("Euler M").ChartArea = "ChartArea1"

Chart1.Series("Euler M").Color = Color.Azul

Gráfico1.Series.Add("Runge Kutt")

Chart1.Series("Runge Kutt").ChartType = SeriesChartType.Line

Para i = 0 Para n - 1

Chart1.Series("Runge Kutt").Points.AddXY(xr(i), año(i))

Chart1.Series("Runge Kutt").ChartArea = "ChartArea1"

Chart1.Series("Runge Kutt").Color = Color.Verde

Enviar su buen trabajo en la base de conocimientos es sencillo. Utilice el siguiente formulario

Los estudiantes, estudiantes de posgrado y jóvenes científicos que utilicen la base de conocimientos en sus estudios y trabajos le estarán muy agradecidos.

Publicado en http://www.allbest.ru/

Institución educativa AUTÓNOMA del Estado FEDERAL Educación profesional superior

"ESTADO NACIONAL DE BELGOROD

UNIVERSIDAD DE INVESTIGACIÓN"

Instituto de Tecnologías de Ingeniería y Ciencias Naturales

Departamento de Sistemas de Información Matemática y Software

Implementación de software para resolver un sistema de ecuaciones diferenciales ordinarias utilizando el método de Runge-Kutta de cuarto orden.

Trabajo del curso

en la disciplina "Métodos de cálculo"

estudiante a tiempo completo

áreas de formación 010500.62

"Soporte y administración matemática

sistemas de información"

grupo 3er año 07001302

Dankov Nikolai Alekseevich

BÉLGOROD 2016

Introducción

1. Parte teórica

1.1 Ecuación diferencial ordinaria de primer orden. problema de cauchy

1.2 La esencia del método Runge-Kutta

1.3 Seleccionar un entorno de desarrollo

2. Parte práctica

2.1 Implementación de software del método Runge-Kutta de cuarto orden

3. Pruebas

3.1 Ejemplo

Conclusión

Solicitud

Introducción

Al estudiar una amplia variedad de fenómenos en el mundo circundante, relacionados tanto con las ciencias exactas como con las humanidades, los investigadores en varios casos se enfrentan al hecho de que las dependencias funcionales entre cantidades se encuentran a partir de ecuaciones en las que las derivadas de las funciones deseadas son presente. Los más simples entre ellos son aquellos que contienen sólo derivadas de primer orden y pueden escribirse en la forma

=f(x,y),

donde y es la función deseada, x es la variable independiente, f(x,y) es una función continua de xey. Sin embargo, no es posible obtener una solución analítica de esta ecuación para una función f bastante arbitraria, y sólo para algunos casos especiales, que se pueden encontrar en la literatura de referencia.

Debido al rápido desarrollo de la tecnología informática electrónica en las últimas décadas, ha sido posible utilizar métodos matemáticos aproximados para resolver problemas de este tipo. Uno de estos enfoques se llama método de Runge-Kutta y combina todo un grupo de modificaciones relacionadas con el método de preparación.

El objetivo del trabajo del curso: estudiar el método de Runge-Kutta de cuarto orden para resolver ecuaciones diferenciales ordinarias.

Planteamiento del problema: es necesario crear un programa que permita resolver ecuaciones diferenciales ordinarias utilizando el método de Runge-Kutta de 4º orden.

El trabajo del curso consta de 3 secciones, contiene 6 dibujos, 3 listados, 1 apéndice y 18 páginas.

1. Parte teórica

1.1 Ecuación diferencial ordinaria de primer orden. problema de cauchy

Por simplicidad, consideramos un espacio bidimensional de variables xey y algún conjunto abierto G que le pertenece. Definamos una función continuamente diferenciable f(x, y) en este conjunto abierto y dada la ecuación

=f(x,y) (1)

Según el teorema de existencia y unicidad, para cualquier punto (x 0 ,y 0) ?G existe una solución y = y(x), definida en un cierto intervalo (x 0 -d, x 0 +d), que satisface el condición y(x 0) = y 0, tal que los puntos (x,y(x)) ?G e y` x ? f(x, y(x)), y esta solución será única. El problema de la ecuación (1) con la condición inicial y(x 0) = y 0 (problema de Cauchy) es encontrar la función y(x) que convierte tanto la ecuación (1) como la condición inicial en una identidad. Supongamos que los valores que toma la variable independiente x pertenecen al intervalo (X 0, X N) y escribamos el problema de Cauchy:

(2)

Dividamos el segmento [X 0, X N] en N partes de modo que x n +1 - x n = h n,

norte = 0,…,N-1. A continuación, sin pérdida de generalidad, consideraremos el caso en el que la partición es uniforme, es decir todo h n = h = = constante,

norte = 0 ,… ,N-1.

1.2 La esencia del método Runge-Kutta

Los métodos de Runge-Kutta se utilizan ampliamente para resolver ecuaciones diferenciales. El método más utilizado es el método de cuarto orden.

(3)

(4)

(5)

- un parámetro que determina el valor de la función cerca de un punto en el dominio de definición.

Método común de cuarto orden:

(6)

(7)

(8)

(9)

(10)

El error de la fórmula (10) es proporcional a h 5 .

Este método es mucho más preciso que los métodos de Euler, pero también requiere más cálculos: la posición del punto (x i +1, y i +1) se determina calculando el valor de la función f (x,y) 4 veces. Con la llegada de las computadoras, este inconveniente ha dejado de ser significativo y el método de Runge-Kutta de cuarto orden se utiliza ampliamente en la práctica.

El número de microsegmentos en los que se divide el segmento original está determinado por la precisión de cálculo requerida. Para lograr la precisión requerida, el problema se resuelve varias veces duplicando sucesivamente el número de microsegmentos n. Se considera que se logra la precisión si, con el número n inicial y duplicado, los valores de y i e y 2i (en puntos coincidentes x) difieren en no más de una cantidad determinada:

, i =0, ..,n, (11)

donde p es el orden de precisión del método.

El método Rugne-Kutta tiene las siguientes propiedades:

1. El método es de un solo paso (para encontrarlo necesitas información sobre el punto anterior)

2. No requiere el cálculo de derivadas de f(x,y), pero requiere el cálculo de la función misma

3. Tiene un pequeño error

1.3 Seleccionar un entorno de desarrollo

C++ Builder es un producto de software, una herramienta de desarrollo rápido de aplicaciones (RAD), un entorno de programación integrado (IDE), un sistema utilizado por los programadores para desarrollar software en el lenguaje de programación C++. Este producto le permite crear tanto aplicaciones de consola como aplicaciones con interfaz gráfica.

Microsoft Visual Studio es una línea de productos de Microsoft que incluye un entorno de desarrollo de software integrado y otras herramientas. Con este producto, puede desarrollar aplicaciones de consola, aplicaciones GUI, así como sitios web, aplicaciones web y servicios web en código nativo y administrado para todas las plataformas compatibles con Windows, Windows Mobile, Windows CE, NET Framework, Xbox, Windows Phone. .NET Compact Framework y Silverlight.

Para completar la tarea, se eligió el producto de software C++ Builder. Ya que es más fácil de usar y cumple con todos los requisitos necesarios para crear una aplicación de consola.

2. Parte práctica

2.1 Implementación de software del método Prknge-Kutta de cuarto orden

ecuación diferencial programación de Cauchy

El desarrollo del programa comienza con una descripción de las funciones. Para hacer esto usamos la declaración de cambio.

Listado 1 “descripción de funciones”

doble s=0;

interruptor (punta)(

caso 1: (

romper; )

caso 2: (

romper; )

caso 3: (

romper; )

caso 4: (

s = a*(b*x+c*y)/(e*f)*d;

romper; )

por defecto:

( s = 0; )

}

devoluciones;

}

Luego viene la declaración e inicialización de las variables que participan en el proceso computacional: coeficientes de ecuación, límites de segmento, paso, condición inicial.

Cuando se han obtenido todos los datos necesarios se procede directamente a resolver la EDO mediante el método de Runge-Kutta de 4º orden.

Listado 2 “implementación de software para resolver EDO utilizando el método Runge-Kutta

4to orden"

para (i=0;yo<=n;i++) {

x=x[i]+h;

corte<<"y"<

}

3. Pruebas

Habiendo iniciado el programa, veremos las ecuaciones que se ofrecen para su selección.

Arroz. 1 "selección de ecuaciones"

Si ingresa un número que no corresponde a los números de ecuación presentados, el programa reaccionará a esto.

Arroz. 2 “ingresar un parámetro incorrecto”

Habiendo seleccionado la ecuación requerida, ingrese los coeficientes.

Arroz. 3 “coeficientes de entrada”

A continuación, ingresamos el inicio y el final del segmento sobre el cual se realizará el cálculo, el paso y la condición inicial. El último parámetro debe ser seleccionado por el usuario de forma independiente.

Arroz. 4 “ingresando los parámetros requeridos”

Después de completar el cálculo, el programa muestra la solución.

Arroz. 5 “salida de resultados”

3.1 Ejemplo

Resuelva el problema de Cauchy:

en el segmento. Encuentre una solución en una cuadrícula uniforme con un paso de 0,1

Solución. Como f(x,y) = x + y, obtenemos

= + ,

= ++ ,

= ++ ,

= +h+ ,

= +() ,

= + h ,

para valores i = 1, 2, 3, 4.

Suponiendo =0, = 1, encontramos sucesivamente:

para yo = 1

= 0,1(0 +1) = 0,1 ,

= 0,1(0 + 0,05 +1 + 0,05) = 0,11 ,

= 0,1(0 + 0,05 +1 + 0,055) = 0,1105 ,

= 0,1(0 + 0,1 +1 + 0,1105) = 0,121050 ,

= 1 + *(0,1 + 2*0,11+2*0,1105 + 0,12105) = 1,110342 ,

= 0+0,1=0.1 ,

en i = 2

= 0,1*(0 + 1,110342) = 0,121034 ,

= 0,1*(0,1 + 0,05 +1,110342 + 0,0605171) = 0,1320859 ,

= 0,1*(0,1 + 0,05+1,110342 + 0,06604295) = 0,1326385 ,

= 0,1*(0,1 + 0,1 + 1,110342 + 0,11326385)= 0,1442980 ,

= 1,110342 + *(0,121034 + 2*0,1320859+2*0,1326385 + 0,1442980) = 1,242805 ,

= 0,1+0,1 ,

A continuación obtenemos:

con i = 3 = 0,3, =1,399717,

en i = 4 = 0,4, = 1,583648.

El error de la solución obtenida no supera el valor.

|y 4 - q(x 4) | ? 0,000001.

Para mayor claridad, la Tabla 1 muestra soluciones numéricas del mismo problema de Cauchy utilizando los métodos de Euler, Euler-Cauchy y Runge-Kutta.

Tabla 1 Soluciones numéricas del problema de Cauchy usando diferentes métodos

Valores encontrados por el método.

Solución exacta

c(x i)=2- x i -1

Euler - Cauchy

Runge - Kutta

Ahora comparemos los resultados obtenidos con los cálculos de nuestro programa.

Arroz. 6 “resultado del programa”

Como podemos ver en el ejemplo, la precisión del cálculo se mantiene hasta el quinto decimal.

Conclusión

Durante el trabajo del curso se realizó la tarea asignada, es decir, se compiló un programa que permite resolver ecuaciones diferenciales ordinarias utilizando el método de Runge-Kutta de cuarto orden.

Durante las pruebas del programa se obtuvieron resultados que muestran que los resultados de la solución por el método de Runge-Kutta de cuarto orden coinciden con suficiente precisión con el resultado analítico.

Lista de fuentes utilizadas

1. Berezin I.S., Zhidkov N.P., Métodos computacionales: T.2 - M.: GIFML, 1960. - 620 p.

2. Bakhvalov N. S., Zhidkov N. P., Kobelkov G. M. Métodos numéricos. - M.: Binom, 2001 - p. 363-375.

3. Kopchenova N.V., Maron I.A., Matemáticas computacionales en ejemplos y problemas - M.: Nauka, 1972. - 368 p.

4. https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio

5. https://ru.wikipedia.org/wiki/C%2B%2B_Builder

Anexo 1

#incluir

#incluir

#incluir

#incluir

usando el espacio de nombres estándar;

char* rus(const char* texto) (

char *buffRus=nuevo carbón;

CharToOem(texto, buffRus);

devolver buffRus;

}

función doble (punta int, doble x, doble y, doble a, doble b, doble c, doble d, doble e, doble f) (

doble s=0;

interruptor (punta) (

caso 1: (

s = a+b*(y*c*sin(d*x))-(e*y*f*y);

romper; )

caso 2: (

s =a*cos(b*x+c*y)+d*(e*x-f*y);

romper; )

caso 3: (

s=((a*cos(b*x)/(x+c))-(d*y*e*y)*f);

romper; )

caso 4: (

s = a*(b*x+c*y)/(e*f)*d;

romper; )

por defecto:

( s = 0; )

}

devoluciones;

}

int principal() (

punta int, i=0, n=0;

doble h=0.0, ot1=1.0, ot2=0.0, k1=0.0, k2=0.0, k3=0.0, k4=0.0, a=1.0, b=1.0, c=1.0, d=1.0, e=1.0, f =1,0, res=0,0;

bandera booleana = 0;

corte<

corte<<" 1. y"=a+b*(y*c*sin(d*x))-(e*y*f*y)\n 2. y"=a*cos(b*x+c*y)+d*(e*x-f*y)\n 3. y"=((a*cos(b*x)/(x+c))-(d*y*e*y)*f)\n 4. y"=a*(b*x+c*y)/(e*f)*d\n";

mientras (!bandera) (

corte<

cin>>punta;

if((consejo == 1) || (consejo == 2) || (consejo == 3) || (consejo == 4))(

bandera=1; )

demás(

corte<

}

}

corte<

corte<<" a= ";cin>>un;

corte<<" b= ";cin>>b;

corte<<" c= ";cin>>c;

corte<<" d= ";cin>>d;

corte<<" e= ";cin>>e;

corte<<" f= ";cin>>f;

corte<

mientras (ot1>ot2) (

corte<

devolver 0;

}

Apéndice 2

Publicado en Allbest.ru

Documentos similares

    Análisis del área temática de programación orientada a objetos. Idiomas Delphi, Object Pascal: entorno de programación orientado a objetos. Soluciones algorítmicas básicas. Resolver una ecuación diferencial usando el método de Runge-Kutta en Excel.

    trabajo del curso, añadido el 02/04/2011

    Compilación de un programa en el lenguaje algorítmico Turbo Pascal. Desarrollo de un diagrama de bloques de un algoritmo para su resolución. Compilación de un programa Pascal inicial e implementación de cálculos utilizando el programa compilado. Aplicación de los métodos Runge-Kutta y Runge-Kutta-Merson.

    trabajo del curso, añadido el 17/09/2009

    La esencia del método Runge-Kutta y sus propiedades. Resolución de ecuaciones diferenciales de primer orden. Bloque computacional Dado/Odesolve. Funciones integradas rkfixed, Rkadapt, Bulstoer. Soluciones de ecuaciones algebraicas lineales en MathCad y Microsoft Excel.

    trabajo del curso, añadido el 02/06/2014

    Revisión de métodos de solución en Excel. Fórmulas recursivas del método de Euler. El método de Runge-Kutta de cuarto orden para resolver una ecuación de primer orden. Método de Euler con paso h/2. Resolver ecuaciones diferenciales usando Mathcad. Método de Euler modificado.

    trabajo del curso, agregado 18/01/2011

    Descripción matemática del problema de resolución de una ecuación diferencial ordinaria utilizando el método numérico explícito de Runge-Kutta, desarrollo de un diagrama algorítmico y escritura de un programa en el entorno de programación Microsoft Visual Studio 2010. Prueba del programa.

    trabajo del curso, añadido el 22/01/2014

    Implementación de la resolución de ecuaciones diferenciales ordinarias de 1º y 2º orden mediante el método de Runge-Kutta. Construcción en computadora de un sistema de visualización de resultados en forma tabular y gráfica. Arquitectura y requisitos del software desarrollado.

    trabajo del curso, añadido el 05/11/2011

    Resolución de ecuaciones diferenciales de primer orden. Variantes de los métodos de Runge-Kutta de varios órdenes. Métodos básicos para la solución numérica del problema de Cauchy. Incrementar la precisión de los cálculos y el método de refinamiento iterativo. Secuencia numérica discreta.

    trabajo de laboratorio, agregado 14/05/2012

    Métodos numéricos para la resolución del problema de Cauchy para ecuaciones diferenciales ordinarias: Euler, Runge-Kutta, Adams y Runge. Técnicas para la solución aproximada de estas ecuaciones: método de diferencias finitas, barrido de diferencias, colocaciones; análisis de resultados.

    trabajo del curso, agregado 14/01/2014

    Análisis de las ventajas y desventajas de diversos métodos numéricos para la resolución de ecuaciones diferenciales de orden superior. Justificación para elegir el método de Runge-Kutta de cuarto orden. Desarrollo de un programa que modela el comportamiento físico y matemático de un péndulo.

    trabajo del curso, añadido el 11/07/2012

    Resolución de ecuaciones diferenciales utilizando algoritmos clásicos de métodos numéricos de Euler y Runge-Kutta de 4º orden. Comandos utilizados para resolver ecuaciones diferenciales ordinarias en un sistema informático. El resultado del programa.




Arriba