Практична робота. Табуляція квадратичної функції
відео-урок: Квадратний тричлен:
https://www.youtube.com/watch?v=SmDzWE6DcjQ
Приклад. Дано графіки квадратичної функції
https://www.youtube.com/watch?v=SmDzWE6DcjQ
Приклад. Дано графіки квадратичної функції
f(x) = ax2+ bx+ c, де a¹0
та лінійної функції
g(x) = kx+l
в прямокутній системі
координат хОу.
Чи можна за допомогою циркуля та лінійки виконати побудову різниці графіків f(x) - g(x)?
Розв’язання. Якщо утворити
різницю
R(x) = f(x) - g(x) = ax2+ bx+ c – kx - l = ax2+ (b-k)x + (c-l),
то
отримаємо квадратичну функцію R(x), у якої на
відмінну від квадратичної функції f(x) змінилися параметри лінійної
частини.
Зазначимо
такі властивості параметрів квадратичної функції.
1.
При зміні параметра а ( параметри
b та c не змінюються) в формулі квадратичної функції, графік параболи деформується прямокутній системі координат хОу відносно власної осі
симетрії(вітки параболи звужуються (½а½> 1 ) до осі симетрії, або розтягуються (½а½£ 1 ) від осі симетрії).
2.
При додатному значенні параметра а –
обидві вітки квадратичної параболи напрямлені вгору. При від’ємному значенні
параметра а – обидві вітки квадратичної
параболи напрямлені вниз.
3.
При зміні двох лінійних параметрів b та
c ( параметр а
не змінюються)
квадратичної функції f(x) = ax2+ bx+ c в прямокутній системі координат
хОу переміщується вісь симетрії параболи(графік не
деформується по відношенню до власної осі симетрії), тобто,
переміщується вершина ( Хf; Yf ) параболи
f(x) = ax2+ bx+ c
в нову вершину ( Хr; Yr ) параболи
R(x) = ax2+ (b-k)x + c-l.
Знайдемо
координати вершини ( Хf; Yf ) параболи f(x) = ax2+ bx+ c:
Хf = - b/(2a);
Yf
= a(- b/(2a) )2+ b(- b/(2a) )+ c =
-b2/4a + c.
Знайдемо
координати вершини ( Хr; Yr ) параболи R(x) = ax2+ (b-k)x + (c-l) та
дізнаємося як перемістилися ці координати в
прямокутній системі координат хОу по
відношенню до вершини ( Хf; Yf ):
Хr=( k- b)/(2a) = Хf + k/2a;
Yr
= a(( k- b)/(2a))2+ (b –k) (( k- b)/(2a))+ c- l =
= -(b-k)2/4a
+ c-l= (- b2+ 2bk - k2)/4a + c- l =
= Yf +(2bk - k2)/4a - l .
Звідси
отримали таке переміщення двох вершин
парабол:
( Хr; Yr ) ® (Хf + k/2a ; Yf +(2bk - k2)/4a -
l ).
За
властивістю переміщення можна рухати не вершину
( Хf; Yf ) параболи f(x) = ax2+ bx+ c, а рухати осі координат. Отже, досить циркулем та лінійкою
виконати паралельне перенесення координатних осей в точку:
(-k/2a; - (2bk - k2)/4a - l ).
Відповідь: можна.
Запитання. Як виводяться формули коренів квадратного рівняння?
Відповідь: Виконаємо такі тотожні перетворення квадратного рівняння:
Запитання. Як знаходять суми числових рядів для даних послідовностей?
Відповідь: Використовують відомі формули:
Алгоритм табуляції властивостей квадратних поліномів на мові
Pascal
Завдання 1. Скласти і
реалізувати алгоритм для знаходження табулювання значень квадратичної функції, що
задана рекурсивною формулою
у=(а1х+а2)х+а3=
а1х2+а2х+а3.
program Quadratfunction; {назва
алгоритму табуляції}
var a1, a2, a3, x, y, d, x1, x2,y1:
real; i, k: integer; {оголошення змінних: дійсні числа та цілі числа}
begin {початок виконання алгоритму і введення випадкових коефіцієнтів квадратичної функції}
a1:=-(1+random(3))
*(-2+random(1)) *(-random(2)) +
1+random(3) ;
writeln( ' Якщо cтарший коефіцієнт квадратичної функції a1=', a1); writeln;
a2:=2+random(7) *(-1+random(3));
writeln(' Якщо
лінійний коефіцієнт квадратичної функції a2=', a2); writeln;
a3:= (4+random(10))*(-1)*(-1+random(3));
writeln(' Якщо вільний
коефіцієнт квадратичної функції: y(0)=a3=', a3); writeln;
writeln(' Якщо cума коефіцієнтів квадратичної функції: y(1)=a1+a2+a3=', a1+a2+a3); writeln;
x:=-(1+random(20)); writeln(' Якщо
початковий аргумент квадратичної функції x=', x); writeln;
d:=1+random(3); writeln( ' Якщо
величина кроку табуляції квадратичної
функції d=', d); writeln;
k:=5+random(8); writeln( ' Якщо
кількість кроків табуляції k=', k); writeln;
for i:=1 to k do begin {виконання
циклу з лічильником по kрокам для
обчислення значень функції}
x:=x+(i-1)*d; y:=(a1*x+a2)*x+a3; { виведення результатів табулювання на екран монітора}
writeln( ' номер кроку
табуляції i=', i, ' аргумент функції х=', x, ' значення
функції y=', y); writeln; end; writeln('********'); writeln( ' квадратична функція має вигляд
у=', a1, '*x*x+(
' , a2, ' )x+(
', a3, ' )' );
d:=a2*a2-4*a1*a3;
if (d>0) or
(d=0) then {обчислення дискримінанта
перевірка його знаку для квадратичної функції}
begin x:=0.5*(-a2-sqrt(d))/a1; y:=abs((a1*x+a2)*x+a3); x1:=x;
{обчислення
першого нуля квадратичної
функції}
writeln( ' перший наближений нуль квадратичної функції х1=', x, 'з абсолютною похибкою ',y); writeln;
x:=0.5*(-a2+sqrt(d))/a1;
y:=abs((a1*x+a2)*x+a3); x2:=x;{ {обчислення
другого нуля
квадратичної функції}
writeln( ' другий наближений
нуль квадратичної функції х2=', x, 'з абсолютною похибкою ',y); writeln; end
else writeln( ' немає нулів квадратична функція');
x:=0.5*(-a2)/a1; y:=(a1*x+a2)*x+a3; y1:=y;
{обчислення координат вершини
параболи }
if (a1>0) then {оголошення мінімуму
квадратичної функції як координат вершини параболи}
writeln( 'гілки
параболи напрямлені вгору, мінімум
квадратичної функції якщо Хmin=', x, ' та Уmin= ',y)
else {оголошення максимуму
квадратичної функції як координат вершини параболи}
writeln( 'гілки параболи напрямлені вниз, максимум квадратичної функції якщо Хmах=',x, ' та Уmах= ',y); writeln;
writeln( 'вісь симетрії графіка параболи це вертикальна пряма лінія: Хвісь=', -0.5*a2/a1); writeln;
if (a1>0) then writeln(' функція зростає, якщо Х>', -0.5*a2/a1); writeln;
if (a1>0) then writeln(' функція спадає, якщо Х<', -0.5*a2/a1); writeln;
if (a1>0) and (d>0) then writeln(' функція додатна, якщо Х<', x1, ' та Х>', x2); writeln;
if (a1>0) and (d>0) then writeln(' функція відємна, якщо ХЄ(', x1, ' ;', x2, ') ' ); writeln;
if (a1<0) and (d>0) then writeln(' функція відємна, якщо Х<', x1, ' та Х>', x2); writeln;
if (a1<0) and (d>0) then writeln(' функція додатна, якщо ХЄ(', x1, ' ;', x2, ') ' ); writeln;
if (a1<0) then writeln(' функція зростає, якщо Х<', -0.5*a2/a1); writeln;
if (a1<0) then writeln(' функція спадає, якщо Х>', -0.5*a2/a1); writeln;
if (a2=0) then writeln( 'Квадратична функція у=',
a1, '*x*x+(
' , a2, ' )x+(
', a3, ' ) парна.') else
writeln( 'Квадратична функція у=',
a1, '*x*x+(
' , a2, ' )x+(
', a3, ' ) ні парна, ні
непарна.'); writeln;
writeln( 'Обернена функція до першої гілки параболи квадратичної
функції: у1=+((x-(', y1, '))/ (', a1, '))^0.5 +(', -0.5*a2/a1, ')'); writeln;
writeln( 'Обернена функція до другої гілки параболи квадратичної
функції: у2=-((x-(', y1, '))/( ', a1, '))^0.5 +(', -0.5*a2/a1, ')'); writeln;
writeln( ' Немає
перегинів випуклих ділянок квадратична функція');
end.
{закінчення
алгоритму}
Протестуйте алгоритм чотири рази та
порівняйте результати табуляції і виберіть той варіант, при якому можна знайти
найточніше наближення нулів
квадратичної функції, тобто випадок y:=(a1*x+a2)*x+a3=0.
Алгоритм табуляції властивостей кубічних поліномів на мові Pascal
Завдання 2. Скласти і
реалізувати алгоритм для знаходження табулювання значень кубічної функції, що
задана рекурсивною формулою у=((а1х+а2)х+а3)х+a4.
program Cubesfunction; {назва
алгоритму табуляції}
var a1, a2, a3, a4, x, y, d: real; i, k: integer; {оголошення змінних величин: дійсні числа та цілі числа}
begin { початок виконання алгоритму і введення випадкових коефіцієнтів кубічної функції}
a1:=1+random(3);
writeln( ' Якщо cтарший коефіцієнт кубічної функції a1=', a1); writeln;
a2:=2+random(7);
writeln(' Якщо
квадратичний коефіцієнт кубічної функції a2=', a2); writeln;
a3:=-(4+random(10));
writeln(' Якщо лінійний коефіцієнт кубічної функції a3=', a3); writeln;
a4:=-(3+random(10));
writeln(' Якщо вільний коефіцієнт кубічної функції a4=', a4); writeln;
x:=-(1+random(20));
writeln(' Якщо
початковий аргумент кубічної функції x=', x); writeln;
d:=1+random(3);
writeln( ' Якщо
величина кроку табуляції кубічної
функції d=', d); writeln;
k:=15+random(5);
writeln( ' Якщо
кількість кроків табуляції k=', k); writeln;
for i:=1 to k do begin {виконання
циклу з лічильником по kрокам для
обчислення значень функції}
x:=x+(i-1)*d; y:=((a1*x+a2)*x+a3)+a4; { виведення результатів табулювання на екран монітора}
writeln( ' номер кроку
табуляції i=', i, ' аргумент функції х=', x, ' значення
функції y=', y);
writeln;
end;
writeln('********');
end. {закінчення алгоритму}
Протестуйте алгоритм чотири рази та
порівняйте результати табуляції і виберіть той варіант, при якому можна знайти
найточніше наближення нулів кубічної функції,
тобто випадок ((a1*x+a2)*x+a3)*x+a4=0.
Алгоритми інтерполяції квадратними поліномами
Алгоритми інтерполяції квадратними поліномами
Практична робота 20. «Алгоритми інтерполяції
квадратними поліномами трьох точкової статистики на мові Pascal»
Завдання 1.
Створити алгоритм який за трьома відомими точками в прямокутній системі координат генерує формулу квадратичної
функції використовуючи розв’язання системи 3-х рівнянь з трьома невідомими методом Крамера. Ця задача називається «інтерполяція
квадратичними поліномами» або знаходження «квадратичного тренду».
Розв’язання. Випадковим чином задаються три
точки деякої статистики: (х1; у1), (х2;
у2), (х3; у3). Вважається, що ці три точки належать деякій параболі, що записується формулою вигляду: у=ах2+bx+c. Підставляємо
кожну точку у формулу і отримуємо систему трьох рівнянь з трьома невідомими а, b, c.
{| aх1*х1 + bх1 + c * 1 = y1
| }
{| aх2*х2 + bх2 + c * 1 = y2
}
{| aх3*х3 + bх3 + c * 1 = y1
}
Розв’язуємо систему
відносно а, b, c за допомогою метода визначників (метод Крамера).
Program Interpoljacia;
var a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, x,
y, z, e, ex, ey, ez, x1, x2, x3, y1, y2, y3: real;
begin
x1:=-(1+random(3))
*(-2+random(1)) *(-random(2)) +
1+random(3) ;
y1:=-(1+random(3))
*(-2+random(1)) *(-random(2)) + 2+random(3) ;
writeln( ' Якщо перша
точка, що належить квадратичній функції х1=', x1,
'y1=', y1); writeln;
x2:=-(1+random(3))
*(-2+random(1)) *(-random(2)) +
1+random(3) ;
y2:=-(1+random(3))
*(-2+random(1)) *(-random(2)) + 3+random(3) ;
writeln( ' Якщо друга
точка, що належить квадратичній функції х2=', x2, 'y2=', y2); writeln;
x3:=-(1+random(3))
*(-2+random(1)) *(-random(2)) +
1+random(3) ;
y3:=-(1+random(3))
*(-2+random(1)) *(-random(2)) + 4+random(3) ;
writeln( ' Якщо третя
точка, що належить квадратичній функції х3=', x3, 'y3=', y3); writeln;
a1:= x1*x1; a2:= x2*x2;
a3:= x3*x3; b1:= x1; b2:= x2;
b3:= x3; c1:=1; c2:=1;
c3:=1;
d1:=y1; d2:=y2;
d3:=y3;
e:= (a1 * b2 *
c3 + b1 * c2 * a3 + c1 * a2 * b3-a3 * b2 * c1-b3 * c2 * a1-c3 * a2 * b1);
ex:=(d1 * b2 *
c3 + b1 * c2 * d3 + c1 * d2 * b3-d3 * b2 * c1-b3 * c2 * d1-c3 * d2 * b1);
ey:=(a1 * d2 *
c3 + d1 * c2 * a3 + c1 * a2 * d3-a3 * d2 * c1-d3 * c2 * a1-c3 * a2 * d1);
ez:=(a1 * b2 *
d3 + b1 * d2 * a3 + d1 * a2 * b3-a3 * b2 * d1-b3 * d2 * a1-d3 * a2 * b1);
if (e=0) and
((ex=0) or (ey=0) or (ez=0)) then
writeln (
'безліч рішень')
else if (e
<> 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
writeln (
'немає рішень')
else begin
x:=ex/e; y:=ey/e;
z:=ez/e;
writeln ( 'Головний визначник е =', e);writeln ( 'a =', x);
writeln ( 'b =', y);
writeln ( 'c =', z);
writeln( ' Шукана квадратична
функція у=', x, '*x*x+( ' , y, ' )x+( ', z, ' ) '); end; end.