Использование
операторов
polyfit
и polyval
для аппроксимации
кривой
Цель работы.
	Получение
полинома,
описывающего
аппроксимированную
кривую наиболее
близкую к исходной,
которая построена
по точкам.
Исходные
данные.
| x | 0 | 400 | 800 | 1200 | 1600 | 2000 | 2400 | 2800 | 3200 | 
| f(x) | 0 | 80 | 100 | 110 | 120 | 180 | 210 | 230 | 260 | 
Программа.
%Исходные
данные
x=[0
400 800 1200 1600 2000 2400 2800 3200];
f=[0
80 100 110 120 180 210 230 260];
%a
- коэффициенты
полинома
%S
- квадратичная
погрешность
[a,S]=polyfit(x,f,3)
z=polyval(a,x)
%Построение
графиков
plot(x,f,x,z),grid
Результат.
a
=
    0.0000
 -0.0000    0.1223   13.5354
S
= 
        R:
[4x4 double]
       df:
5
    normr:
43.1607
z
=
  Columns
1 through 7 
   13.5354
 57.1717   91.9986  120.6926  145.9307  170.3896  196.7460
  Columns
8 through 9 
  227.6768
265.8586
	Командой
plot
произвели
построение
исходной функции
(синий цвет) и
функции аппроксимирующей
её (зелёный
цвет). Поскольку
велико значение
погрешности
normr=43.1607
и недостаточно
аппроксимирование,
то следует
повысить степень
полинома. Пусть
вместо 3 будет
6.
Программа.
%Исходные
данные
x=[0
400 800 1200 1600 2000 2400 2800 3200];
f=[0
80 100 110 120 180 210 230 260];
%a
- коэффициенты
полинома
%S
- квадратичная
погрешность
[a,S]=polyfit(x,f,6)
z=polyval(a,x)
%Построение
графиков
plot(x,f,x,z),grid
Результат.
a =
    0.0000  
-0.0000    0.0000   -0.0000   -0.0002    0.2770    0.0140
S = 
        R:
[7x7 double]
df: 2
    normr:
12.4672
z =
  Columns 1
through 7 
    0.0140
 79.7016  101.6970  105.3007  127.5058  172.6900  214.3077
  Columns 8
through 9 
  228.5828
260.2005
Вывод.
	В результате
работы видно,
что при увеличении
степени полинома
уменьшается
погрешность
и аппроксимированная
кривая наиболее
близка к исходной.
В случае когда
степень полинома
равна количеству
исходных точек,
получаем: normr=0
и полное соответствие
кривых в исходных
точках.
Оптимальное
распределение
двух ресурсов
Цель
работы.
	Получение
максимального
значения прибыли
при перевозке
двух различных
грузов.
Исходные
данные.
| x | 0 | 400 | 800 | 1200 | 1600 | 2000 | 2400 | 2800 | 3200 | 
| f1(x) | 0 | 80 | 100 | 110 | 120 | 180 | 210 | 230 | 260 | 
| f2(x) | 0 | 60 | 90 | 110 | 130 | 190 | 230 | 250 | 
	f1(x)
доход от перевозки
груза первого
рода;
	f2(x)
доход от перевозки
груза второго
рода;
	x
количество
груза.
Программа.
%Исходные
данные
x=[0
400 800 1200 1600 2000 2400 2800 3200];
f1=[0
80 100 110 120 180 210 230 260];
f2=[0
60 90 110 130 150 190 230 250];
plot(x,f1,x,f2),grid
%Решение
F12=[];
for
xR=1:9;
   
I=1:xR;
   
L12=f1(I)+f2(xR-I+1);
[Lopt,I]=max(L12);
x1=I*400-400;
x2=(xR-I)*400;
   
Pacn=[Lopt;x1;x2;x1+x2];
    F12=[F12
Pacn];
end
F12
pause
plot(x,F12(1,:)),grid
Результат.
F12
=
  Columns
1 through 6 
           0
       80        140        170        190        210
           0
      400        400        400        400        400
           0
        0        400        800       1200       1600
          
0        400  
    800       1200       1600       2000
  Columns
7 through 9 
         240
      270        310
        2000
      400        400
         400
     2400       2800
 
     2400       2800       3200
В
результате
получаем матрицу,
в которой:
1 строка 
суммарный
доход от перевозки;
2 строка 
количество
первого груза;
3 строка 
количество
второго груза;
4 строка 
суммарное
количество
грузов.
Вывод.
Таким образом
получена оптимальная
зависимость
распределения
груза с наибольшим
доходом от
перевозки. Для
наглядности
по полученным
значениям
построен график.
Оптимальное
распределение
шести ресурсов
Цель
работы.
	Получение
максимального
значения прибыли
при перевозке
шести различных
грузов.
Исходные
данные.
| x | 0 | 400 | 800 | 1200 | 1600 | 2000 | 2400 | 2800 | 3200 | ||||||
| f1(x) | 0 | 80 | 100 | 110 | 120 | 180 | 210 | 230 | 260 | ||||||
| f2(x) | 0 | 60 | 90 | 110 | 130 | 150 | 190 | 230 | 250 | ||||||
| f3(x) | 0 | 30 | 40 | 70 | 110 | 180 | 200 | 240 | 250 | ||||||
| f4(x) | 0 | 40 | 60 | 80 | 130 | 160 | 180 | 210 | 240 | ||||||
| f5(x) | 0 | 50 | 70 | 90 | 110 | 150 | 170 | 200 | 220 | ||||||
| f6(x) | 0 | 70 | 80 | 110 | 140 | 160 | 200 | 250 | 270 Название реферата: Оптимизация режимов движения судов с использованием MATLAB 5.0
 Вам также могут понравиться эти работы: 
 |