Скачиваний:
11
Добавлен:
19.09.2023
Размер:
434.1 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М.А. Бонч-Бруевича»

Кафедра «Информационных Управляющих Систем»

Дисциплина «Теория информации, данные, знания»

ОТЧЁТ

по лабораторной работе № 4

«Нелинейные уравнения и системы в Scilab»

Выполнил: студент группы ИСТ-114, Горохов Д.Г.

«28» мая 2023г. _________/Горохов Д.Г./

Принял: Эль Сабаяр Шевченко Н.

«__» мая 2023 г. _________/ Эль Сабаяр Шевченко Н. /

Санкт-Петербург

2023

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

В данной лабораторной работе будут использованы три функции:

  • poly(a, "x ["fl"]) — задаёт полином;

  • roots(p) — решает алгебраическое уравнение, здесь p - полином;

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

ФОРМУЛИРОВКА ЗАДАНИЯ

Задание 4.1. Найти корни полиномов.

Задание 4.2. Решение решить систему уравнений

ХОД РАБОТЫ

Задание 4.1

Скриншот программного кода в Scilab

Результат выполнения работы

Задание 4.2

Скриншот программного кода в Scilab

Результат выполнения работы

ВЫВОД

В данной лабораторной работе мы ознакомились с программой Scilab, научились решать нелинейные, уравнения и системы, при помощи специальных матричных функций - poly(a, "x ["fl"]), roots(p), fsolve(x0,f).

Функциональные возможности браузера

Приложение

Код для задания 4.1:

p1 = poly([2,0,-3,-5,0],"x","c")  p2 = poly([2,0.52,5.4,-7.4,0],"x","c")  r1 = roots (p1)  r2 = roots (p2)  disp("Полином: -"+string (p1), "Корниполинома: -",r1)  disp("Полином: "+string (p2), "Корниполинома: -",r2)

Код для задания 4.2:

function [f] = fun(x)  f(1) = tan(x(1)*x(2)+0.3)-x(1)^2  f(2) = 0.9*x(1)^2+2*x(2)^2-1  endfunction  r1 = fsolve ([0.5;0.5],fun)  r2 = fsolve ([-0.5;0.5],fun)  r3 = fsolve ([0.5;-0.5],fun)  r4 = fsolve ([-0.5;-0.5],fun)  disp("Ответ:",r1,r2,r3,r4)