miércoles, 21 de diciembre de 2011

Ejercicio 1(Matlab)


% 1- En una fabrica de armas, el coste de la produccion de x miles de
% armas es x^3-6x^2+15x (en miles de euros). Sabiendo que x miles de armas
% se venden por 9x miles de euros:


%a) ¿Existe algun nivel de produccion que maximice el beneficio?
%b) ¿Existe algun nivel de produccion que maximice las perdidas?

clear all; clc; clf;
syms x;
%
%
coste = x^3-6*x^2+15*x %Coste de produccion
venta = 9*x %Precio de venta
beneficio = venta-coste %Beneficio:venta-coste
db = diff(beneficio) %Derivada de la funcion beneficio
posibles_maximos = solve(db)
%Dibujamos las graficas del coste y la venta para ver en que intervalos es
%mayor el beneficio y para saber donde se encuentra el maximo beneficio y
%la perdida maxima
hold on;
w = linspace(-6,6,100);
plot(w,subs(coste,x,w),'r--')
plot(w,subs(venta,x,w),'b')
axis([-1,6,-50,50])
hold off;
%
%
valor_aprox1 = double(posibles_maximos(1)) %Posible maximo de la funcion beneficio, utilizamos double %para que nos muestre un valor aproximado del resultado
valor_aprox2 = double(posibles_maximos(2))
%Como podemos apreciar en la gráfica valor_aprox2 es un maximo y
%valor_aprox1 es un mínimo, ahora procedemos a comprobarlo matematicamente
%Para saber si es un maximo o un minimo debemos de susbstituir el valor en
%la segunda derivada, si el resultado es positivo será un mínimo, en caso
%contrario será un maximo
db2 = diff(db)%Segunda derivada de la funcion beneficio
max = double(subs(db2,x,posibles_maximos(2))) % Como el resultado es negativo, entonces hay un %maximo
disp(['El máximo beneficio está en x = ', num2str(valor_aprox2)])
disp(' ')
disp(['La máxima perdida está en x = ',num2str(valor_aprox1)])

Ejecución




No hay comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | GreenGeeks Review