Solicitamos a expertos que utilicen la programación del software matlab para resolver los problemas de las imágenes. Muchas gracias wangchaojie1215@163.com.
(1) Problema de minimización de restricciones lineales
f = inline('-x(1)-2*x(2) 0.5*x(1)^2 0.5*x ( 2)^2');
A = [2 3 1 4; -1 0 -1];
b = [6; ;
[x, fmin] = fmincon(f, [0 0], A, b)
Traza el valor mínimo
figure(1 )
ezcontour('-x-2*y 0.5*x^2 0.5*y^2', [0 2.5], [0 2], 100)
espera p>
ezplot('2*x1 3*x2-6')
ezplot('x1 4*x2-5')
plot(x(1), x(2), 'ro')
title('2{\itx}_1 3{\itx}_2 \leq 6; {\itx}_1 4{\itx}_2 \leq 5; {\itx}_1, {\itx}_2 \geq 0')
(2) Ajuste de mínimos cuadrados
1. El ajuste está relacionado con muchos factores, como el valor inicial, selección de función de ajuste, configuración del algoritmo, etc.
2. Los resultados del ajuste según el programa existente: c1=3.1564, c2=5.2165 A juzgar por los resultados, no son ideales.
3. Parece razonable que la forma de la función de ajuste se seleccione como y=c1 c2*(-c3*t). Los resultados correspondientes se muestran a continuación.
t = 1: 10;
y = [4.842 4.362 3.754 3.368 3.169 3.038 3.034 3.016 3.012 3.005]; ) c(2)*exp(-t)','c','t');
c = lsqcurvefit(f, [0 0], t, y);
c1 = c(1)
c2 = c(2)
Otra forma de función de ajuste
f1 = inline('c( 1) c (2)*exp(-c(3)*t)','c','t');
C = lsqcurvefit(f1, [0 0 1], t, y );
Compare los resultados del ajuste con los datos originales
figure(2)
plot(t, y, '-o', t, f( c, t ), 'r:x', t, f1(C, t), 'g--p');
legend('Datos originales', 'Función de ajuste y=c_1 c_2 e^{- t}', 'Función de ajuste y=c_1 c_2 e^{-c_3 t}')