Act 15 metodos numéricos
Enviado por RAYMUNDO VILLARREAL MARTíNEZ • 1 de Junio de 2021 • Apuntes • 2.713 Palabras (11 Páginas) • 119 Visitas
[pic 1]
Nombre: Raymundo Villarreal Mtz Nombre del curso: Métodos numéricos Modulo: 3 Act 15 Fecha: 22/ 05/2021 | Matricula: 2944597 Nombre del maestro: Eliezer Abisaí Rodríguez Escobar |
Introducción:
Ultima actividad del módulo, esta materia fue complicada para mi porque tenia una computadora que no podía descargar programas de este tipo, entonces batallaba para conseguir una prestada, sin embargo, aprendí muchas cosas.
Indicaciones:
- Enciende la computadora.
- Entra a Visual Studio Express 2012 (o al ambiente equivalente).
- Crea un nuevo proyecto con un nombre claro y fácil de identificar.
- Se van a hacer 2 programas con distintas funciones.
- El primer programa encontrará el valor de la variable y cuando x = 5 para la siguiente ecuación diferencial:
[pic 2]
Para f(x) = 5, [pic 3], en x = 0. Este programa resolverá el problema utilizando Runge-Kutta.
- El segundo programa resolverá la siguiente ecuación diferencial:
[pic 4]
Si sabemos que g(x) = -3 en x = 0 y sabemos que g(x) = 10 en x = 5.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Act_15
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Raymundo Villarreal Mtz");
System.Console.WriteLine("2944597");
double z, Q, U, l1, l2, l3, l4, m1, m2, m3, m4;
double x = 2, paso = 0.01;
z = 7;
Q = 0;
while (x < 5)
{
U = -4 * z + Math.Sin(x);
m1 = paso * (-4 * z + Math.Sin(x));
l1 = paso * Q;
m2 = paso * (-4 * (z + l1 / 2) + Math.Sin(x + paso / 2));
l2 = paso * (Q + m1 / 2);
m3 = paso * (-4 * (z + l2 / 2) + Math.Sin(x + paso / 2));
l3 = paso * (Q + m2 / 2);
m4 = paso * (-4 * (z + l3) + Math.Sin(x + paso));
l4 = paso * (Q + l3);
z = z + (l1 + 2 * l2 + 2 * l3 + l4) / 6;
Q = Q + (m1 + 2 * m2 + 2 * m3 + m4) / 6;
x = x + paso;
}
Console.WriteLine("El valor de y cuando x esta " + x + " es " + z);
System.Console.WriteLine(" ");
double O, w, N, S1, S2, S3, S4, R1, R2, R3, R4;
double criterio, criterio1, criterio2;
double y1, y2, yi;
double X = 0, PASO = 0.001;
double F = 5, FF = 10;
yi = 5;
y1 = yi;
y2 = yi;
O = -6;
w = yi;
X = -1;
while (X < F)
{
N = (-4 * O + Math.Sin(X));
R1 = paso * (-4 * O + Math.Sin(X));
S1 = paso * w;
R2 = paso * (-4 * (O + S1 / 2) + Math.Sin(X + paso / 2));
S2 = paso * (w + R1 / 2);
R3 = paso * (-4 * (O + S2 / 2) + Math.Sin(X + paso / 2));
S3 = paso * (w + R2 / 2);
R4 = paso * (-4 * (O + S3) + Math.Sin(X + paso));
...