3.2. Нелинейные уравнения (MatLab)
Задание 5.
Блок-схема алгоритма представлена в п.2.4.
Задание 6. Программа решения нелинейного уравнения с использованием средств программирования MatLAB.
Сначала сформируем М-файл reshenieдля решения нелинейного уравнения и построения графика в заданной области.
functions=reshenie
%Программа решения нелинейного уравнения.
%Уравнение: 3*sin(sqrt(x))+0.35*x-3.8=0.
%Область, содержащая корень: [2,3].
%Метод решения: последовательных приближений.
clear
clc
eps=0.00001; % Точность решения.
i=2;
x(i-1)=2; % Начальное приближение.
x(i)=(3.8-3*sin(sqrt(x(i-1))))/0.35;
while abs(x(i-1)-x(i))>eps
i=i+1;
x(i)=(3.8-3*sin(sqrt(x(i-1))))/0.35;
end
s=x(i);
x=2:0.01:3;
y=3*sin(sqrt(x))+0.35*x-3.8;
plot(x,y,'+g');gridon; % Построение графика.
При запуске программы в командной строке появится следующее:
>> ans=
2.2985
>>
График нелинейного уравнения в заданной области имеет вид:
Рис. 8. График уравнения 3sin√x + 0.35x – 3.8 = 0 на отрезке [2, 3].
Задание 7. Проверка с помощью встроенных функций MatLAB.
function f=vstr(x)
% Функция, корень которой ищется
f=0.35*x+3*sin(sqrt(x))-3.8;
Затем в командной строке найдем корень этой функции на промежутке [2, 3] и построим график с помощью команды plot.
>> k=fzero('vstr',[2 3])
k =
2.2985
>> x=2:0.00001:3;
>> f=0.35*x+3*sin(sqrt(x))-3.8;
>> plot(x,f);grid on;
>>
Построение графика.
Рис. 9. График уравнения 3sin√x + 0.35x – 3.8 = 0 на отрезке [2, 3].
Задание 8. Построение трехмерного графика функции sin(d)*y(x) при изменении d от 0 до 2π с шагом π/6, а x в заданной области.
Сформируем М-файл trehmдля построения трехмерного графика функции
z(x,d)=sin(d)*y(x).
% Построение трехмерного графика функции.
% Функция: z(x,d)=sin(d)*y(x).
% Область изменения d: [0, 2*pi].
% Область изменения х: [2, 3].
% Шаг изменения d - pi/6.
clear
clc
d=0;
x=2;
for i=1:13
for j=1:101
z(i,j)=(3*sin(sqrt(x))+0.35*x-3.8)*sin(d);
x=x+0.01;
end
d=d+pi/6;
end
x=2:0.01:3;
d=0:pi/6:2*pi;
surf(x,d,z);grid on;
Рис. 10. Трехмерный график функции sin(d)*y(x), где y(x)= 3sin√x + 0.35x – 3.8 = 0 с шагом h=π/6 при изменении d от 0 до 2π.
- Кафедра митэ
- 1.2. Решение нелинейных уравнений в системе MatLab
- 2. Теоретическое описание методов решения уравнений.
- 2.1. Метод Эйлера для решения дифференциальных уравнений.
- 2.2. Блок-схема алгоритма решения задачи №1.
- 2.3. Метод последовательных приближений для решения нелинейных уравнений
- 2.4. Блок-схема алгоритма решения задачи №2
- 3. Текст программы
- 3.1. Дифференциальные уравнения (MathCad)
- 3.2. Нелинейные уравнения (MatLab)
- 4. Выводы
- 4.1. Решение дифференциальных уравнений в системе MathCad
- 4.2. Решение нелинейных уравнений в системе MatLab
- 5. Список литературы