Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Решение систем нелинейных уравнений в Matlab осуществляется функцией fsolve, обращение к которой имеет вид:

х=fsolve(func,x0);

где х – вектор решения; х0 – вектор начального приближения к х; func – ссылка на имя m-функции, описывающей систему уравнений.

Пример: пусть необходимо решить следующую систему нелинейных уравнений:

Данная система имеет бесконечное количество корней. Найдем положительные корни, не превосходящие 3.

Выполним отделение корней, ведь для обращения к fsolve нам придется задать начальное приближение. Построим графики функций и определим точки их пересечения.

x1=-3:0.1:10;

x2=sin(x1).*x1;

hold on

plot(x1,x2)

x2=-3:0.1:3;

x1=x2.^2+1;

plot(x1,x2,'--')

grid

hold off

legend('x2=x1sin(x1)','x1=x2^2+1')

xlabel('x1')

ylabel('x2')

Из графиков (рис. 8.2) следует, что при рассматриваемых ограничениях на значение корней система имеет только одну пару корней, приближенные значения которых х 1 =2,5 и х 2 =1,2.

Составим m-функцию, описывающую систему уравнений

function fun=nonlinearsystem(x)

fun=[x(1).*sin(x(1))-x(2);

x(2).^2-x(1)+1];

и файл-сценарий с обращением к fsolve для уточнения решения

x0=[2.5; 1.2;];

[xx, fx]=fsolve(@nonlinearsystem,x0,optimset('TolFun',1e-9))

В результате получим следующее решение (пару корней и значения левых частей обоих уравнений при этих корнях):

xx =

2.6349

1.2786

fx =

1.0e-015 *

0.2220

0.4441

Примечание. В примере при обращении к fsolve в качестве третьего входного аргумента указана одна из возможных настроек опций, управляющих решением: задана относительная погрешность TolFun значения функции в точке корня.

 




Поделиться с друзьями:


Дата добавления: 2014-11-08; Просмотров: 1469; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.