Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Численные методы и обработка данных

Читайте также:
  1. A. осуществляет передачу данных устройствам компьютера.
  2. B) Элемент диаграммы, показывающий название и маркеры данных диаграммы
  3. Cтруктуры внешней памяти, методы организации индексов
  4. E) схема данных.
  5. I. Обработка результатов журнала технического нивелирования.
  6. II. Методы искусственной детоксикации организма
  7. II. Методы несанкционированного доступа.
  8. III. Методы манипуляции.
  9. IV. Традиционные методы среднего и краткосрочного финансирования.
  10. IX. Методы СТИС

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

Пример: решить систему линейных уравнений

Решение возможно одним из способов (s1, s2, s3 или s4 – см. приведенную ниже программу).

--> a=[2, 1, 0, 1; 1, -3, 2, 4; -5, 0, -1, -7; 1, -6, 2, 6]; b=[8 9 -5 0];

--> s1=b/a', s2=a\b', s3=b*a'^(-1), s4=b*inv(a')

s1 =

8.1481481 - 1.5185185 11.703704 - 6.7777778

s2 =

8.1481481

- 1.5185185

11.703704

- 6.7777778

s3 =

8.1481481 - 1.5185185 11.703704 - 6.7777778

s4 =

8.1481481 - 1.5185185 11.703704 - 6.7777778

Решить систему линейных уравнений вида можно с помощью функции linsolve : linsolve(a,b). В нашем примере:

a=[2, 1, 0, 1; 1, -3, 2, 4; -5, 0, -1, -7; 1, -6, 2, 6]; b=[8; 9 ;-5 ;0]; x=linsolve(a,-b)

x =

8.1481481

- 1.5185185

11.703704

- 6.7777778

Если система уравнений имеет бесчисленное множество решений, то выводится одно из них:

a=[2, 1; 4, 2]; b=[-7; -14 ];x=linsolve(a,b)

x =

2.8

1.4

Если система не имеет решений:

a=[2, 1; 4, 2]; b=[-7; -13 ];x=linsolve(a,b)

WARNING:Conflicting linear constraints!

x =

[]

Вычисление корней полинома

Функция roots(c) возвращает вектор-столбец из корней полинома с.

Пример: решить уравнение

--> x=[7, 0, 12, 23]; d=roots(x)

d =

0.5564046 + 1.6257442i

0.5564046 - 1.6257442i

- 1.1128093

Примечание: Коэффициенты полинома следует вводить в порядке убывания степеней переменной x. Если в уравнении отсутствует слагаемое, содержащее, например, x2, то в векторе коэффициентов на соответствующем месте надо ввести 0.

Решение нелинейных уравнений вида f(x)=0

Уравнения бывают алгебраическими и трансцендентными. Алгебраическим называют уравнение вида . Если уравнение нельзя свести к алгебраическому заменой переменных, то его называют трансцендентным. Пример:

Для решения уравнений, в том числе трансцендентных, в Scilab применяют функцию fsolve(x0,f)

где x0 - начальное приближение, f - функция, описывающая левую часть уравнения f(x)=0.

Пример: решить уравнение

Набираем в окне редактора файл:

function y=f(x)

y=7*x.^3+45*x.^2+12*x+23;

endfunction

и сохраняем его под именем f.sci.Загружаем его в Scilab(Execute/Load into Scilab).

Для нахождения отрезка [a, b], на котором отделен корень данного уравнения, построим график функции .



 

-->x=-8:0.1:-5; plot(x, f(x)); xgrid()

Из графика видно, что корень отделен на отрезке [-6.5 , -6]. Найдем его, используя функциюfsolve:

-->x0=-6.5;x1= fsolve(x0,f)

Получаем:

x1 =

- 6.2381997

Систему нелинейных уравнений также можно решить, используя функцию fsolve.

clc

function [y]=ff(x)

y(1)=x(1)^2+x(2)^2-1;

y(2)=x(1)^3-x(2);

endfunction

t=fsolve([-.5,-.5],ff)

t =

- 0.8260314 - 0.5636242

Поиск минимума функции y=f(x) на интервале [a, b]

Функция [f1,xopt]=optim(costf,x0) возвращает локальный минимум функции costf.

Функция возвращает минимум функции (значение f1) и точку, в которой этот минимум достигается (xopt).

Главной особенностью функции optim является структура функции costf, которая должна быть такой:

function [f,g,ind]=costf(x,ind)

f=gg(x);//функция, минимум которой мы ищем

g=numdiff(gg,x); //градиент функции f


Дата добавления: 2015-02-09; просмотров: 28; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Математические выражения в Scilab | Endfunction
lektsii.com - Лекции.Ком - 2014-2018 год. (0.008 сек.) Главная страница Случайная страница Контакты