ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Simulador Blackman


Enviado por   •  21 de Noviembre de 2024  •  Práctica o problema  •  1.198 Palabras (5 Páginas)  •  29 Visitas

Página 1 de 5

(*Importar datos desde el archivo CSV*)datosConEncabezado=

Import["/Users/alejandroleconaperales/Documents/dataset.csv"

importa

datos=

(*Eliminar la primera fila encabezado*)

Rest[datosConEncabezado];

todos excepto el primero

,

"CSV"];

(*Extraer cada serie de datos*)

datosT= datos〚

All, 1〛;

todo

datosX= datos〚

All, 2〛;

todo

datosS= datos〚

All, 4〛;

todo

datosP= datos〚

All, 3〛;

todo

(*Crear pares {t,variable} para cada serie*)

datosXPares=

Transpose[{datosT, datosX}];

transposición

datosSPares=

Transpose[{datosT, datosS}];

transposición

datosPPares=

Transpose[{datosT, datosP}];

transposición

(*Ajuste polinómico *)

gradoPolinomio= 5;

(*Definir el modelo polinómico*)

modeloPolinomico=

Table[t ^ i, {i, 0, gradoPolinomio}];

tabla

(*Encontrar la ecuacion para X(t)BIOMASA*)

ajusteX=

Fit[datosXPares, modeloPolinomico, t];

ajusta

Print["Ecuación ajustada para X(t): "

, ajusteX];

escribe

(*Encontrar la ecuacion para S(t)SUSTRATO*)

ajusteS=

Fit[datosSPares, modeloPolinomico, t];

ajusta

Print["Ecuación ajustada para S(t): "

, ajusteS];

escribe

Printed by Wolfram Mathematica Student Edition

2 Tarea 2 Biorreaccion1.nb

Print["Ecuación ajustada para S(t): "

, ajusteS];

escribe

(*Encontrar la ecuacion P(t)PRODUCTO*)

ajusteP=

Fit[datosPPares, modeloPolinomico, t];

ajusta

Print["Ecuación ajustada para P(t): "

, ajusteP];

escribe

(*Definir una función para calcular R*)(*Funcion reutilizable *)

calcularR[datos

_, ajuste_] :=

Module[{yReal, yAjuste, ssTotal, ssRes, r2}, yReal= datos〚

All, 2〛;

módulo

todo

yAjuste= (ajuste /. t → #) & /@ datos〚

All, 1〛;

todo

ssTotal=

Total[(yReal-

total

Mean[yReal]) ^ 2];

media

ssRes =

Total[(yReal- yAjuste) ^ 2];

total

r2 = 1- (ssRes / ssTotal);

Sqrt[r2]];

raíz cuadrada

(*Calcular R para cada ajuste*)(*Usar la funcion dinamica anterior*)

rX = calcularR[datosXPares, ajusteX];

rS = calcularR[datosSPares, ajusteS];

rP = calcularR[datosPPares, ajusteP];

(*Mostrar los valores de R*)

Print["Valores de R:"];

escribe

Print["R para X(t): "

escribe

Print["R para S(t): "

escribe

Print["R para P(t): "

escribe

,

,

,

N[rX]];

valor numérico

N[rS]];

valor numérico

N[rP]];

valor numérico

(*Graficar las funciones *)

(*Antes de eso Definir el rango de t*)

tMin=

Min[datosT];

mínimo

tMax =

Max[datosT];

máximo

Printed by Wolfram Mathematica Student Edition

Tarea 2 Biorreaccion1.nb 3

tMax =

Max[datosT];

máximo

(*Gráfica de X(t)*)

graficaX=

Show[

ListPlot[datosXPares,

PlotStyle → {

mues⋯

representación de lista

estilo de represe⋯

Red},

rojo

PlotLabel → "Datos X(t)"],

Plot[ajusteX, {t, tMin, tMax},

etiqueta de representación

representación gráfica

PlotLabel → "Ajuste Polinómico para X(t) con R = " <>

etiqueta de representación

AxesLabel → {"t"

,

"X(t)"}];

etiqueta de ejes

PlotMarkers →

marcadores de re⋯

Automatic,

automático

PlotStyle → {

estilo de represe⋯

ToString[

convierte a⋯

N[rX]],

valor numérico

Blue}],

azul

(*Gráfica de S(t)*)

graficaS=

Show[

ListPlot[datosSPares,

PlotStyle → {

Green},

mues⋯

representación de lista

estilo de represe⋯

verde

PlotLabel → "Datos S(t)"],

Plot[ajusteS, {t, tMin, tMax},

etiqueta de representación

representación gráfica

PlotLabel → "Ajuste Polinómico para S(t) con R = " <>

etiqueta de representación

AxesLabel → {"t"

,

"S(t)"}];

etiqueta de ejes

PlotMarkers →

marcadores de re⋯

Automatic,

automático

PlotStyle → {

Orange}],

estilo de represe⋯

naranja

ToString[

convierte a⋯

N[rS]],

valor numérico

(*Gráfica de P(t)*)

graficaP=

Show[

ListPlot[datosPPares,

mues⋯

representación de lista

Automatic,

automático

PlotStyle → {

estilo de represe⋯

Purple},

púrpura

PlotMarkers →

marcadores de re⋯

PlotLabel → "Datos P(t)"],

etiqueta de representación

Plot[ajusteP, {t, tMin, tMax},

PlotStyle → {

representación gráfica

estilo de represe⋯

Magenta}],

magenta

PlotLabel → "Ajuste Polinómico para P(t) con R = " <>

etiqueta de representación

AxesLabel → {"t"

,

"P(t)"}];

etiqueta de ejes

ToString[

convierte a⋯

N[rP]],

valor numérico

(*Calcular las derivadas y segundas derivadas*)

(*Derivadas de X(t)*)

derivadaX=

D[ajusteX, t];

deriva

segundaDerivadaX=

D[ajusteX, {t, 2}];

deriva

Print["Primera derivada de X(t): "

, derivadaX];

escribe

Print["Segunda derivada de X(t): "

, segundaDerivadaX];

escribe

(*Derivadas de S(t)*)

Printed by Wolfram Mathematica Student Edition

4 Tarea 2 Biorreaccion1.nb

derivadaS=

D[ajusteS, t];

deriva

segundaDerivadaS=

D[ajusteS, {t, 2}];

deriva

Print["Primera derivada de S(t): "

escribe

Print["Segunda derivada de S(t):

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (77 Kb) docx (565 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com