#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void funcion1()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=aX+b\n");
int a, X, b, Y;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
Y = (a*X)+b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion2()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=aX-b\n");
int a, X, b, Y;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
Y = (a*X)-b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion3()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=aX\n");
int a, X, Y;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
Y = a*X;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion4()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=b\n");
int X, b, Y;
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
Y = b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion5()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=a(X^c)+b\n");
int a, X, b, Y, c;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de c: ");
scanf(" %d", &c);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
if((X==0 && c!=0)||(X!=0 && c==0)||(X!=0 && c!=0))
{
Y = (a*(pow(X,c)))+b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion6()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=a(X^c)-b\n");
int a, X, b, Y, c;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de c: ");
scanf(" %d", &c);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
if((X==0 && c!=0)||(X!=0 && c==0)||(X!=0 && c!=0))
{
Y = (a*(pow(X,c)))-b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion7()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=aX/b\n");
int a, X, b, Y;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
if(b==0)
{
printf("\n\n Imposible realizar grafica. Si el denominador es 0, resultados no representables!");
return;
}
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
Y = (a*X)/b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion8()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=b/aX\n");
int a, X, b, Y;
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
if((a*X)!=0)
{
Y = b/(a*X);
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion9()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=a(X^c)/b\n");
int a, X, b, Y, c;
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de c: ");
scanf(" %d", &c);
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
if(b==0)
{
printf("\n\n Imposible realizar grafica. Si el denominador es 0, resultados no representables!");
return;
}
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
if((X==0 && c!=0)||(X!=0 && c==0)||(X!=0 && c!=0))
{
Y = (a*(pow(X,c)))/b;
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
void funcion10()
{
char vector[100][100];
printf("\n\n Su estructura es: Y=b/a(X^c)\n");
int a, X, b, Y, c;
printf(" Introduzca el valor de b: ");
scanf(" %d", &b);
printf(" Introduzca el valor de a: ");
scanf(" %d", &a);
printf(" Introduzca el valor de c: ");
scanf(" %d", &c);
int i, j;
char k;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(j==50 && i!=50)
{
k = '|';
vector[i][j] = k;
}
if(j==50 && i==50)
{
k = '+';
vector[i][j] = k;
}
if(i==50 && j!=50)
{
k = '-';
vector[i][j] = k;
}
if(i!=50 && j!=50)
{
k = ' ';
vector[i][j] = k;
}
}
}
for(i=0;i<100;i++)
{
X = i-50;
if((X==0 && c!=0)||(X!=0 && c==0)||(X!=0 && c!=0))
{
if(a*(pow(X,c)!=0))
{
Y = b/(a*(pow(X,c)));
if(Y<=50 && Y>=(-50))
{
vector[50-Y][X+50]='*';
}
}
}
}
for(i=0;i<99;i++)
{
for(j=0;j<99;j++)
{
k = vector[i][j];
printf("%c", k);
}
printf("\n");
}
return;
}
int main()
{
int respuesta, respuesta2=1;
printf("\n ** REPRESENTADOR DE GRAFICAS **\n\n");
printf(" Los intervalos maximos en los ejes 'x' e 'y' son [-50,50].\n");
printf(" Los valores deben ser enteros.\n");
do
{
printf("\n Selecciona tu modelo de funcion: \n");
printf(" 1 -- aX+b\n");
printf(" 2 -- aX-b\n");
printf(" 3 -- aX\n");
printf(" 4 -- b\n");
printf(" 5 -- a(X^c)+b\n");
printf(" 6 -- a(X^c)-b\n");
printf(" 7 -- aX/b\n");
printf(" 8 -- b/aX\n");
printf(" 9 -- a(X^c)/b\n");
printf(" 10 -- b/a(X^c)\n");
printf(" Respuesta: ");
scanf(" %d", &respuesta);
switch(respuesta)
{
case 1:
{
funcion1();
break;
}
case 2:
{
funcion2();
break;
}
case 3:
{
funcion3();
break;
}
case 4:
{
funcion4();
break;
}
case 5:
{
funcion5();
break;
}
case 6:
{
funcion6();
break;
}
case 7:
{
funcion7();
break;
}
case 8:
{
funcion8();
break;
}
case 9:
{
funcion9();
break;
}
case 10:
{
funcion10();
break;
}
default:
{
printf("\n No entiendo su eleccion.");
}
}
printf("\n\n Quiere realizar otra grafica?:\n 1.-Si\n 2.-No\n Respuesta: ");
scanf(" %d", &respuesta2);
}
while(respuesta2==1);
printf("\n\n Gracias por usarnos como programa de graficas!");
return 0;
}
Comentarios sobre la versión: 20171114 (7)
import matplotlib.pyplot as plt
Q2 = np.linspace(0, 1000, 100) # Rango de producción de la empresa 2
# Función de reacción de la empresa 1
Q1 = (2400 - 601*Q2) / 1802
# Función de reacción de la empresa 2
Q2_reaccion = (2400 - Q1 - 1803*Q2) / 1803
plt.plot(Q2, Q1, label='Empresa 1')
plt.plot(Q2, Q2_reaccion, label='Empresa 2')
plt.xlabel('Producción Empresa 2 (Q2)')
plt.ylabel('Producción Empresa 1 (Q1)')
plt.title('Curvas de Reacción')
plt.legend()
plt.grid(True)
plt.show()
import matplotlib.pyplot as plt
L=2; %longitud de la varilla
ang=1*pi/180; %posición de partida
k=3*9.8/(2*L);
f=@(t,x) [x(2);k*sin(x(1))];
opts=odeset('events',@varilla_ode45);
[t,x, te]=ode45(f,[0,4],[ang,0], opts);
hold on
plot(t,x(:,1))
set(gca,'YTick',0:pi/12:pi/2)
set(gca,'YTickLabel',{'0','\pi/12','\pi/6','\pi/4','pi/3','5\pi/12','\pi/2'})
alfa=log(tan(ang/4));
tf=(log(pi/8)-alfa)/sqrt(9.8*3/(2*L));
th=@(t) 4*exp(sqrt(9.8*3/(2*L))*t+alfa);
fplot(th,[0,tf])
hold off
disp([te,tf])
grid on
legend('numérica', 'analítica','location','best')
xlabel('t')
ylabel('\theta');
title('Posición angular en función del tiempo')
function [detect,stopin,direction]=varilla_ode45(~,x)
detect=x(1)-pi/2;
stopin=1;
direction=1;
end
end
import numpy as np
t = np.linspace(0, 12, 100)
T = 0.1*t**2 - 1.6*t + 40
plt.plot(t, T)
plt.title('Modelo de temperatura')
plt.xlabel('Horas después de la medianoche')
plt.ylabel('Temperatura (°F)')
plt.grid(True)
plt.show()
y = np.linspace(-6, 6, 100)
X, Y = np.meshgrid(x, y)
F = X**2 + Y**2 - 9
plt.contour(X, Y, F, [0], colors='b')
plt.plot(x, 0*x, color='r', label='y = 0 (Recta que pasa por el origen y Q(5, 0))')
plt.scatter(5, 0, color='g', label='Q(5, 0)')
plt.axhline(0, color='k', linewidth=0.
]
import matplotlib.pyplot as plt
# Función de posición x(t)
def position_function(t, a, b, c):
return a * t**2 + b * t + c
# Derivada de la función de posición (velocidad v(t))
def velocity_function(t, a, b):
return 2 * a * t + b
# Definir el rango de tiempo
t = np.linspace(0, 10, 100)
# Definir valores para a, b y c
a = 1
b = 2
c = 0
# Calcular la posición y la velocidad
position = position_function(t, a, b, c)
velocity = velocity_function(t, a, b)
# Graficar la función de posición y la velocidad en función del tiempo
plt.figure(figsize=(10, 6))
# Gráfico de la función de posición
plt.plot(t, position, label='Posición (x(t))')
# Gráfico de la velocidad
plt.plot(t, velocity, label='Velocidad (v(t))', color='orange')
# Etiquetas y título
plt.title('Posición y Velocidad en Relación con la Optimización del Flujo de Producción')
plt.xlabel('Tiempo')
plt.ylabel('Valor')
plt.axhline(y=0, color='gray', linestyle='--', linewidth=0.5) # Línea horizontal en y=0
plt.legend()
plt.grid(True)
# Mostrar la gráfica
plt.show()