Главная страница
Навигация по странице:

  • ЛАБОРАТОРНАЯ РАБОТА № 6 РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ

  • Алгебраические уравнения

  • Уравнения любого типа

  • 6.2 Решение систем линейных уравнений Краткие сведения из теории

  • Решение методом обратной матрицы

  • Решение с помощью функции lsolve

  • Решение линейной системы методом Гаусса

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

  • Начальные приближения переменных> Given

  • Уравнения

  • Find(z1,z2,z3, …) и Minerr(z1,z2,z3, …)

  • Символы → Коэффициенты полинома

  • Символы → Переменные → Вычислить

  • Методичка MatchCAD. Практикум по курсам Информатика, Прикладное программное обеспечение


    Скачать 2.28 Mb.
    НазваниеПрактикум по курсам Информатика, Прикладное программное обеспечение
    Дата16.04.2023
    Размер2.28 Mb.
    Формат файлаpdf
    Имя файлаМетодичка MatchCAD.pdf
    ТипПрактикум
    #1066011
    страница6 из 7
    1   2   3   4   5   6   7
    Упражнения
    1. Рассчитать значения
    x
    x
    e
    x
    x
    y
    x



    )
    1
    ln
    4
    sin(
    3
    для x = 1, 2, …, 10. Для полученных значений провести сплайн – интерполяцию.
    2. Используя данные приведенной ниже таблицы (значения x и y для каждой опыт- ной точки), выполните линейную аппроксимацию и аппроксимацию полиномом с помо- щью метода наименьших квадратов.
    Ном ер ва ри ан та x/y
    Номер опытной точки
    1 2
    3 4
    5 6
    7 8
    9 10 1
    X
    3,44 1,72 2,06 3,07 0,99 7,65 2,92 3,53 4,10
    -0,47
    Y
    23 5,7 7,6 17,6 4,3 147,6 15,7 24 35 12 2
    X
    2,06 5,45 1,01 1,04 1,13 4,73 3,92 1,02 4,92 5,38
    Y
    0,14 0,072 0,199 0,196 0,19 0,08 0,09 0,198 0,078 0,073 3
    X
    3,72 4,21 4,17 5,64 2,95 6,85 2,01 1,92 3,57 2,95
    Y
    -6,9
    -6,58
    -6,6
    -6
    -7,5
    -5,7
    -9
    -9,3
    -7
    -7,6 4
    X
    6,04 6,33 4,86 5,91 4,96 5,58 6,15 6,13 4,65 5,49
    Y
    79,31 57,43 80,66 92,55 90,12 96,3 70,50 71,52 68,31 98,56 5
    X
    2,91 2,94 6,35 6,58 3,80 6,43 0,57 5,96 3,40 4,55 y
    62,16 61,02 44,56 82,52 39,17 70,24 103,2 66,48 48,35 40,24 6
    X
    1,9 2
    2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8
    Y
    5,08 5
    5,02 5,02 5,04 5,08 5,12 5,18 5,24 5,32 7
    X
    1,5 2,2 2,9 3,6 4,3 5
    5,7 6,4 7,1 7,8
    Y
    8,51 13,46 19,82 27,61 36,82 47,45 59,51 72,96 87,86 104,17 8
    X
    0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1
    1,05
    Y
    0,9 1,45 2,04 2,66 3,32 4,01 4,74 5,50 6,3 7,13 9
    X
    0,6 0,75 0,9 1,05 1,2 1,35 1,5 1,65 1,8 1,95
    Y
    12 13,46 15,15 17,06 19,2 21,56 24,15 26,96 30 33,26 10 X
    -6
    -4
    -3
    -1 0
    1 2
    3 4
    5
    Y
    10,1
    -3,9
    -7,9
    -9,9
    -7,9
    -3,9 2,1 10,1 20,1 32,1 3. В разделе 4.3 решена задача о популяции кроликов (числа Фибоначчи). Рассчи- тать поголовье кроликов для n = 1, 2, …12 и полученные данные аппроксимировать по ме- тоду наименьших квадратов (тип аппроксимирующей функции выбрать, исходя из вида данных).
    Контрольные вопросы
    1. Дайте определение интерполяции.
    2. Дайте определение аппроксимации.
    3. Для чего служит экстраполяция?
    4. В каких случаях применяется линейная, сплайн-интерполяция?
    5. В каких случаях применяется аппроксимация прямой? Аппроксимация полино- мом?

    51
    ЛАБОРАТОРНАЯ РАБОТА № 6
    РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ
    Цель: Научиться применять функционал MathCAD при решении уравнений и сис-
    тем.
    6.1 Решение одного уравнения
    Теоретические сведения
    Пусть задана некоторая непрерывная функция y=f(x). Требуется найти такие значе- ния x, для которых f(x)=0. Эти значения x называются корнями уравнения f(x)=0.
    Все уравнения можно разделить на два больших класса: линейные и нелинейные уравнения. Решить линейное уравнение с одним неизвестным ax+b=0 просто, этот случай рассматривать здесь не будем.
    В свою очередь, нелинейные уравнения также можно разделить на две большие группы: алгебраические и трансцедентные.
    АЛГЕБРАИЧЕСКИЕ УРАВНЕНИЯ можно записать в виде
    0
    a x
    a x
    a x
    a
    0 1
    1
    n
    1
    n n
    n








    ,
    (6.1) где n – целое число, a i
    – заданные коэффициенты. Оно имеет n корней, включая кратные и комплексные.
    ТРАНСЦЕДЕНТНЫЕ УРАВНЕНИЯ – нелинейные уравнения, которые содержат тригонометрические (например, sinx, cosx и т.п.) или другие специальные функции (на- пример, lnx, e x
    и т.п.). В общем случае количество корней трансцедентного уравнения за- ранее не известно.
    Методы решения уравнений делятся на: прямые методы; итерационные методы.
    ПРЯМЫЕ МЕТОДЫ позволяют найти решение непосредственно с помощью фор- мул и обеспечивают получение точного (без погрешностей метода) решения. Например, решение уравнения ax
    2
    +bx+c=0 дается формулой a
    2
    ac
    4
    b b
    x
    2 2
    ,
    1




    В ИТЕРАЦИОННЫХ МЕТОДАХ процедура решения задается в виде многократ- ного применения некоторого алгоритма. Полученное решение всегда является прибли- женным. При этом обычно требуется задать некоторое начальное приближение корня, ко- торое в ходе итераций уточняется. Если в ходе итераций получаются все более точные значения корня, то говорят, что метод итераций сходится, в противном случае он будет расходиться. Если некоторый итерационный метод расходится то это может быть вызвано следующими причинами:
    1) отсутствием решения;
    2) выбором неудачного начального приближения;
    3) непригодностью используемого метода к решению данной задачи.
    В общем случае рекомендуется следующая последовательность решения нелиней- ного уравнения f(x)=0: исследуется количество, характер и расположение корней; находятся некоторые приближенные значения корней (их локализация); выбирается интересующий нас корень и проводится его уточнение (решение с не- обходимой точностью).
    В системе MathCAD первые два этапа удобно проводить графически: для этого строится график функции y=f(x) в нужном диапазоне значений x и визуально определяют-

    52 ся координаты пересечения кривой с осью x. Дополнительно можно использовать воз- можности трассировки графиков и увеличения их масштаба.
    Задача 1. Решить графически уравнение cos(x)-x-0.2=0.
    Решение: График данной функции приведен ниже на рисунке 6.1. Правый график –
    увеличенный фрагмент графика, приведенного слева. Видно, что значения корня равно
    приблизительно 0.62.
    Рисунок 6.1 – Графическое решение уравнения
    Алгебраические уравнения
    Если задан полином n-й степени n
    n
    2 2
    1 0
    x a
    x a
    x a
    a
    )
    x
    (
    p






    ,
    (6.2) то для нахождения его корней (вещественных и комплексных) удобно использовать стандартную функцию системы MathCAD
    polyroots(V).
    Она возвращает вектор длины n, компоненты которого – корни данного полинома.
    Коэффициенты исходного полинома (8.2) задаются в векторе V (рамерности n+1):













    n
    1 0
    a a
    a
    V

    Отметим, что функция polyroots не требует начального приближения.
    Задача 2. Найти корни уравнения x
    3
    – 10 x + 2 = 0.
    Решение: Программа расчета, результат и проверка решения приведены на рис.6.2
    Рисунок 6.2. Пример использования функции polyroots для нахождения корней по- линома
    Уравнения любого типа
    Решение одного уравнения любого типа дается функцией
    root(f(x),x, [a, b]) ,
    которая возвращает такое значение x, лежащее между a и b (причем b>a), при кото- ром f(x)=0. Здесь a и b – необязательные параметры. Если они отсутствуют, то функция root требует начального приближения x для организации итерационного процесса. Для

    53 поиска комплексного корня следует взять в качестве начального приближения комплекс- ное число. Если корней несколько, то выдаваемое значение корня зависит от заданного начального приближения. Если начальное приближение очень близко к минимуму или максимуму функции f, то итерационный процесс может не сходиться или выдавать реше- ния, лежащие далеко от начального приближения.
    Ниже на рис. 6.3 показано применение функции root на примере нахождения кор- ней полинома, уже рассмотренного и решенного выше с помощью функции polyroots (см. рис. 6.2).
    Рисунок 6.3 – Пример использования функции root для нахождения корней полинома
    Задача 3. Найти корни трансцедентного уравнения cos(x)=x+0.2.
    Решение: Программа расчета и результат приведены на рис. 6.4. Ранее это урав-
    нение мы уже решали графически (см. рис. 6.1).
    Следует отметить, что найденные с помощью численных методов значения корней являются приближенными – это видно (см., например, рис.6.2, 6.4) из результатов провер- ки. Точность расчетов в системе MathCAD регулируется значением системной перемен- ной TOL.
    Рисунок 6.4. Пример использования функции root для нахождения корней трансцендентного уравнения
    По умолчанию TOL=0.001, но ее значение можно уменьшить и тем самым умень- шить погрешность метода.
    В общем случае при использовании функции root предлагается использовать по- следовательность действий, описанную выше в разделе «Предварительные сведения» при анализе итерационных методов решения.
    6.2 Решение систем линейных уравнений
    Краткие сведения из теории
    Рассмотрим систему n линейных уравнений с n неизвестными



















    n n
    nn
    2
    n2 1
    n1 2
    n
    2n
    2 22 1
    21 1
    n
    1n
    2 12 1
    11
    b x
    a x
    a x
    a b
    x a
    x a
    x a
    b x
    a x
    a x
    a

    (6.3)
    Систему (6.3) можно записать в компактной матричной форме

    54
    B
    X
    A


    ,
    (6.4) где A- матрица коэффициентов при неизвестных:
    





    






    nn n2
    n1 2n
    22 21 1n
    12 12
    a a
    a a
    a a
    a a
    a
    A
    





    






    n
    2 1
    b b
    b
    B
    и
    





    






    n
    2 1
    x x
    x
    X
    – вектор свободных членов и вектор решений соответственно.
    В курсе линейной алгебры показано, что если матрица A не вырождена (т.е. ее оп- ределитель не равен нулю), то система (6.3) или (6.4) имеет единственное решение.
    Таким образом, при
    0
    A
    det

    решение системы (6.4) существует и его также можно записать в матричной форме:
    B
    A
    X
    1



    ,
    (6.5) где
    1
    A

    – матрица, обратная А.
    Решение методом обратной матрицы
    Допустим, что задана система (6.3). Тогда:

    определяем матрицу A и вектор B;

    проверяем матрицу A на вырожденность;

    если матрица не вырождена, то находим вектор решений по формуле (6.5);

    выводим результат;

    делаем проверку.
    Задача 4. Решить систему уравнений

























    18 2x
    7x x
    3x
    2 3x
    5x x
    x
    31 5x x
    3x
    2x
    10
    x x
    x x
    4 3
    2 1
    4 3
    2 1
    4 3
    2 1
    4 3
    2 1
    Решение: Текст программы, результат и проверка решения показаны на рисунке
    8.5.
    Рисунок 6.5 – Решение системы линейных уравнений с помощью операторов

    55
    Решение с помощью функции lsolve
    Для решения систем линейных уравнений можно также использовать стандартную функцию
    lsolve(A,B), которая возвращает вектор решений для заданных значений матрицы коэффициентов A и вектора свободных членов B. Матрица A, как и в предыдущем случае, должна быть не вы- рожденной.
    Задача 5. Решить систему уравнений из задачи 4 с помощью функции lsolve.
    Решение: Решение с проверкой представлено на рис. 6.6.
    Рисунок 6.6 -Решение системы линейных уравнений с помощью функции lsolve
    Решение линейной системы методом Гаусса
    Этот метод состоит в том, что систему n уравнений приводят последовательным исключением неизвестных к системе треугольного вида, а затем ступенчатую матрицу преобразуют так, чтобы в первых n столбцах получилась единичная матрица. Последний
    (n+1) столбец содержит решение системы. В MathCAD прямой и обратный ходы метода
    Гаусса выполняет функция rref(M).
    Задача 6. Решить систему уравнений из задачи 4 методом Гаусса.
    Решение: Решение с проверкой представлено на рис. 6.7.
    A
    1 2
    1

    3 1
    3 1
    1 1
    1 5
    7 1
    5 3
    2

    


    
    


    
    
    B
    10 31 2

    18
    


    
    


    
    
    - ис ходные данные
    A
    12

    - матрица не вырождена
    Ar augment A B

    (
    )
    
    Ar
    1 2
    1

    3 1
    3 1
    1 1
    1 5
    7 1
    5 3
    2

    10 31 2

    18
    


    
    


    

    Ag rref Ar
    (
    )
    
    Ag
    1 0
    0 0
    0 1
    0 0
    0 0
    1 0
    0 0
    0 1
    16 15.5

    0.5 9
    


    
    


    

    решение и ответ:
    X
    submatrix Ag 0

    3

    4

    4

    (
    )
    
    X
    16 15.5

    0.5 9
    


    
    


    

    Рисунок 6.7 – Решение системы линейных уравнений методом Гаусса

    56
    6.3 Решение систем нелинейных уравнений
    При решении систем нелинейных уравнений в системе MathCAD используется специальный вычислительный блок (solve block), который имеет следующую структуру:
    <Начальные приближения переменных>
    Given
    <Уравнения>
    <Ограничительные условия>
    <Выражения с функциями Find или Minerr>
    Здесь:
    Начальные приближения переменных – начальные значения для всех неизвест- ных, входящих в систему уравнений;
    Given – ключевое слово, которое указывает MathCAD, что далее следует система уравнений;
    Уравнения – решаемые уравнения, количество которых равно количеству неиз- вестных;
    Ограничительные условия – дополнительные ограничения на решения в виде не- равенств;
    Функции Find(z1,z2,z3, …) и Minerr(z1,z2,z3, …) возвращают вектор решений системы уравнений. Число аргументов z1,z2,z3,… должно быть равно числу неизвестных в уравнениях.
    При наборе уравнений и неравенств следует использовать логические операторы =
    (булево равенство), >,

    и пр.
    MathCAD возвращает в блоке solve block только одно решение. Для поиска кон- кретного решения нужно использовать соответствующие начальные приближения или до- полнительные ограничения в виде неравенств. Рассмотрим использование блока решений на конкретных примерах.
    Задача 5. Решить систему уравнений
    2
    y x
    6
    y x
    2 2







    Решение: Данные уравнения допускают простую геометрическую интерпретацию
    (см. рис. 8.8). Видно, что существует два решения системы уравнений.. Для их поиска
    применим рассмотренный выше блок решения. В качестве ограничений будем использо-
    вать предварительную информацию., полученную из рисунка 6.8.
    Рисунок 6.8 – Координаты двух точек пересечения окружности и прямой определяют решение данной системы
    На рисунке 6.9 приведены два варианта программы, в каждом находится один ко-
    рень.

    57
    Функцию Find, которая завершает блок решения, можно использовать, как и лю- бую другую функцию. Можно вывести найденное решение, как это сделано в программе на рис. 6.9.
    вариант 1
    начальные приближения x
    0
    
    y
    0
    
    Given x
    2
    y
    2

    6
    x y

    2
    x
    0

    y
    0

    Find x y

    (
    )
    0.414

    2.414
    

    


    вариант 2
    x
    0
    
    y
    0
    
    Given x
    2
    y
    2

    6
    x y

    2
    x
    0

    y
    0

    Find x y

    (
    )
    2.414 0.414








    начальные приближения
    Рисунок 6.9 – Решение системы нелинейных уравнений с помощью блока solve block
    Можно определить новую переменную с использованием данной функции, напри- мер, a := Find(z1,z2, …) и вектор a использовать в другом месте рабочего документа. Ис- пользуя Find, можно также определить другую функцию. Для этого блок решения необхо- димо закончить выражением типа f(a, b, c,…) := Find(z1, z2, z3, …).
    Эта конструкция удобна при многократном решении систем уравнений, содержа- щих параметры a, b, c, … .Программа на рисунке 6.10 – пример такой параметризации за- дачи. Предположим, что ищется пересечение прямой из предыдущей задачи и окружности переменного радиуса r. В этом случае функция определяется следующим образом: F( r ) :=
    Find(x,y). Эта функция возвращает вектор значений, элементы которого содержат x и y координаты точек пересечения.
    Если в ходе решения системы уравнений итерации перестают сходиться, а нужная точность еще не достигнута, то поиск решения прекращается и выводится сообщение «No solution was found» («решение не найдено»). Причиной может быть как отсутствие реше- ния, так и неудачные начальные приближения или ограничения. В этом случае полезно провести графический анализ системы уравнений и уточнить область, в которой могу на- ходиться искомые решения. Это поможет выбрать более подходящее начальное прибли- жение. В этой ситуации также можно применить вместо функции Find другую функцию –
    Minerr, которая работает по такому же алгоритму, но при отсутствии решения выдает зна- чения, в наибольшей степени удовлетворяющие заданной системе уравнений и дополни- тельным ограничениям. Более подробно об этой функции смотрите в специальной литера- туре.

    58 x
    0
    
    y
    0
    
    Given x
    2
    y
    2

    r
    2
    x y

    2
    x
    0

    y
    0

    F r
    ( )
    Find x y

    (
    )
    
    F
    6
     
    2.414 0.414








    F 3
    ( )
    2.871 0.871








    Рисунок 6.10 – Параметризация предыдущей задачи
    Упражнения
    1. Построить график функции f(x) и приблизительно определить один из корней уравнения. Решить уравнение f(x) = 0 с помощью встроенной функции MathCAD root.
    2. Для полинома g(x) выполнить следующие действия:
    1) с помощью команды Символы → Коэффициенты полинома создать вектор V, содержащий коэффициенты полинома;
    2) решить уравнение g(x) = 0 с помощью функции polyroots;
    3) решить уравнение символьно, используя команду Символы → Переменные
    Вычислить.

    59 3. Решить систему линейных уравнений:
    1) матричным способом и используя функцию lsolve;
    2) методом Гаусса;
    3) используя функцию Find.
    № ва- ри- анта
    Система уравнений
    № вари- анта
    Система уравнений
    1 1
    2 3
    1 2
    3 1
    2 3
    0, 3 1, 2 0, 2 0, 6 0,1 0, 2 1, 6 0, 3 0, 05 0, 34 0,1 0, 32
    x
    x
    x
    x
    x
    x
    x
    x
    x


     

    









    6














    83 1
    25 0
    35 0
    6 0
    32 0
    43 0
    25 0
    3 0
    91 1
    2 0
    45 0
    21 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    2














    01 1
    72 0
    44 0
    12 0
    77 0
    04 0
    86 0
    02 0
    56 0
    12 0
    02 0
    78 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    7


















    210 3
    5 0
    5 0
    100 5
    0 6
    5 0
    5 56 5
    0 5
    0 3
    3 2
    1 3
    2 1
    3 2
    1
    x
    x
    ,
    x
    ,
    x
    ,
    x
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    3















    83 0
    86 0
    44 1
    42 1
    32 0
    54 1
    74 0
    54 1
    58 0
    22 0
    44 0
    66 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    8

















    37 0
    63 0
    05 0
    35 0
    31 0
    06 0
    34 0
    01 0
    15 0
    15 0
    94 0
    45 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    4















    38 0
    14 0
    84 0
    87 0
    23 0
    93 0
    19 0
    98 0
    25 0
    94 0
    94 0
    21 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    9














    32 0
    1 0
    34 0
    03 0
    42 0
    71 0
    1 0
    15 0
    34 0
    15 0
    05 0
    63 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    5














    69 0
    69 0
    95 0
    13 0
    12 0
    05 0
    99 0
    9 0
    29 9
    76 1
    37 0
    63 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    10

















    6 0
    3 0
    2 0
    2 1
    4 0
    5 1
    1 0
    3 0
    3 0
    1 0
    6 1
    2 0
    3 2
    1 3
    2 1
    3 2
    1
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    ,
    x
    ,
    x
    ,
    x
    ,
    4. Найти все решения систем нелинейных уравнений

    60
    1   2   3   4   5   6   7


    написать администратору сайта