курсовая vich.mat

17
КУРСОВАЯ РАБОТА На тему : «Нахождение корней уравнений в математических пакетах свободного ПО»

Upload: paradisedream

Post on 12-Jul-2015

77 views

Category:

Education


5 download

TRANSCRIPT

Page 1: курсовая Vich.mat

КУРСОВАЯ РАБОТАНа тему : «Нахождение корней уравнений в математических

пакетах свободного ПО»

Page 2: курсовая Vich.mat

Существует много свободных математических пакетов

Page 3: курсовая Vich.mat

Что такое алгебраическое уравнение?

P(x)=0,

где P(x)- это многочлен, отличный от нулевого

Любое алгебраическое уравнение относительно х можно записать в виде

a0*xn+ a1*xn-1+ …+ an-1*x+ an=0, где a0 не равно 0, n>=1 и ai- коэффициенты алгебраического уравнения n-ной степени;

Page 4: курсовая Vich.mat

Scilab

Page 5: курсовая Vich.mat
Page 6: курсовая Vich.mat

имя переменной=значение переменной

Переменным могут быть присвоены как численные значения, так и строка символов.

-->d=’stroka’

d =

stroka .

-->d=6+4

d =

14.

Page 7: курсовая Vich.mat

Ans — первый пример системной переменной. Имена других си-

стемных переменных в Scilab начинаются с символа %:

• %pi – число П (3.141592653589793);

• %e – число e=2.7182818.

Эти переменные используются в математических операциях в качестве

констант.

Page 8: курсовая Vich.mat

• «+» сложение

• «-» вычитание

• «*» умножение

• «/» деление слева направо

• «\» деление справа налево

• «^» возведение в степень

Математические операции в Scilab:

Page 9: курсовая Vich.mat

Решение алгебраического уравнения в Scilabсостоит из двух этапов:

• необходимо задать P(x) с помощью функции poly

• найти его корни, применив функцию roots.

Page 10: курсовая Vich.mat

x3−3=5 x3−8=0

f (x)=x3−8 (a0=−8,a1=0,a2=0,a3=1)

В общем случае для f (x) должна быть представлена в виде полинома произвольной (целой, положительной) степени переменной x вида:

f ( x )=a 0+a 1 x 1+a2 x 2+…+an x n= Σ nj=0 ai x i

Page 11: курсовая Vich.mat

• Формируем полином.

• Сравниваем получившийся полином с формулой

• Ищем корни уравнения

Page 12: курсовая Vich.mat

Решение систем линейных уравнений

Прежде чем приступить к формированию задачи для Scilab, необходимо привести систему уравнений к виду:

a1 x+b1 y+c1 z=k1 ,

a2 x+b2 y+c2 z=k2 ,

a3 x+b3 y+c3 z=k 3 .

Page 13: курсовая Vich.mat

Для решения подобных систем уравнений в Scilabсуществует функция linsolve. Обращение к ней выглядит следующим образом:

linesolve(K,k). ,где

K — таблица, составленная из коэффициентов уравнений системы

Общий вид K:K=a1 b1 c1

a2 b2 c2

a3 b3 c3

Page 14: курсовая Vich.mat

k — столбец, содержащий свободные (стоящие после знака «=»)коэффициенты.(Примечание : при задании в Scilab k должен быть именностолбцом, поэтому перечисление переменных нужно делать через «;»)

Общий вид k:k=k1k2k3

Page 15: курсовая Vich.mat

• Зададим таблицу коэффициентов

• при неизвестных переменных.

• Зададим таблицу коэффициентов при неизвестных переменных.

• Зададим столбец независимыхкоэффициентов.

• Результатом решения станет список значений переменных x,y,z, И значения переменных расположены в столбце в том порядке, в котором были расположены столбцы с коэффициентами при этих переменных в таблице К.

Page 16: курсовая Vich.mat

Построение графиков

Функция plot предназначена для построения двумерных графиков функции одной переменной

вида f=f(x).

plot(x,y),

где x — список значений независимой переменной, а y — список значений функции f в этих точках.

Page 17: курсовая Vich.mat

ex-x2=0.• Преобразуем это

уравнение ex=x2.• Как известно, чтобы

найти корни уравнения, необходимо найти точку пересечения графиков.

-->x=-2:0.01:2;-->y1=%e^x;-->y2=x^2;-->plot(x,y1,x,y2)-->xgrid(001)