Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы (методичка) .doc
Скачиваний:
15
Добавлен:
17.11.2019
Размер:
2.82 Mб
Скачать

Примеры выполнения заданий

  1. П ример решения трансцендентного уравнения в пакете mathcad.

Исходное уравнение:

– приведенное уравнение

– производная

В качестве параметра можно положить

Функция, реализующая метод итераций, может быть такой:

  1. Пример расчета в пакете matlab.

% приведенное алгебраическое уравнение для метода итераций

Function res = p_iter_func(x,lambda);

res = x - lambda*(x^3+5*x+11);

return

% метод итераций

function res = p_iter(a,lambda,eps);

x0=a;

x1=p_iter_func(a,lambda);

i=0;

while (abs(x0-x1)>eps)

x0=x1;

x1=p_iter_func(x0,lambda);

i=i+1;

end;

i;

res=x1;

return

Варианты заданий (трансцендентное уравнение)

Номер

варианта

Уравнение

Номер

варианта

Уравнение

1

16

2

17

3

18

4

19

5

20

6

21

7

22

8

23

9

24

10

25

11

26

12

27

13

28

14

29

15

30

Варианты для выполнения лабораторной работы № 3 (алгебраическое уравнение) взять из лабораторной работы № 2.

Встроенные функции пакетов mathcad, matlab для приближенного решения уравнений Пакет mathcad

Для поиска корней обычного многочлена p(x) степени n MATHCAD имеет очень удобную функцию: polyroot(V). Она возвращает вектор корней многочлена степени n, коэффициенты которого находятся в векторе v, имеющем длину, равную n+1.

Заметим, что корни многочлена могут быть как вещественными, так и комплексными числами. Не рекомендуется пользоваться этой функцией, если степень полинома выше пятой-шестой, так как тогда трудно получить малую погрешность вычисления корней.

Для решения уравнений с одним неизвестным MATHCAD имеет встроенную функцию root, которая, в зависимости от типа задачи, может содержать либо два, либо четыре аргумента и, соответственно, работает несколько по-разному: root(f(х), х); root(f(х), х ,а ,b),

где f(х) – скалярная функция, определяющая уравнение, х – скалярная переменная, относительно которой решается уравнение; а,b – границы интервала, внутри которого происходит поиск корня.

Первый тип функции root требует дополнительного задания начального значения (guess value) переменной х. Для этого нужно просто предварительно присвоить х некоторое число. Поиск корня будет производиться вблизи этого числа. Таким образом, присвоение начального значения требует априорной информации о примерной локализации корня.

Если правильное завершение работы функции root отсутствует, то это значит, что :

– нет корней;

– задание начальных условий некорректно (начальное условие слишком далеко от корней, несоответствие типов);

– на пути к корню встретился локальный экстремум;

– встретилась точка разрыва функции.

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

.

Для нахождения второго корня необходимо либо задать другое начальное приближение, либо использовать вызов

,

где а – уже вычисленный корень.

Примеры использования функции root:

1) x:=nu root (F(x),x)=...;

2) если далее корень понадобится в выражениях, то, например, xv:=root (F(x),x).

Если точность мала, то изменением значения TOL-погрешности вычислений следует задать требуемую точность, например, TOL:=0,0001.

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

Пример1. Найти корни уравнения .

Решение.

  1. Ввести заданное уравнение. В качестве знака равенства следует использовать оператор отношения = с панели инструментов Boolean.

  2. На панели инструментов Symbolic выбрать оператор Solve ■ →.. В качестве требуемой переменной ввести x.

  3. Щелкнуть левой кнопкой мыши за пределами введенной формулы. Справа от оператора появится результирующее значение:

.

Заметим, что данная последовательность действий остается верной и при наличии в уравнении параметра, например

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]