Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ММИР_Лекции+Практикум.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.27 Mб
Скачать

Лабораторная работа №2 Функции и графики

Задача1 С помощью функции if() выбрать код пластины для фрезерования, в зависимости от заданных условий обработки (черновая – R, получистовая – M, чистовая обработка – F) и вида обрабатываемого материала (по ISO:

P – сталь, М – нержавеющая сталь, К – чугун). Код пластины записать в виде буквы – условий обработки и числа, выбранного из следующей таблицы:

Код обработки

Код материала

R

M

F

P

22

24

28

M

30

32

36

K

38

42

46

Например, Выбран код пластины R38 – для черновой обработки чугуна.

Решим эту задачу вместе. Итак, следует создать одну общую функцию, с помощью которой возможен выбор из таблицы, если известны код обработки и код материала. В результате должно выдаваться значение кода пластины, поэтому присвоим функции имя K_PL, она должна зависеть от аргументов, имена которым присвоим KO – код обработки, и KM – код материала.

Вначале создадим более простую функцию K_PL1, которая для материала первой строки (К_M= “Р”) по заданному коду обработки (KO) выдает номер пластины:

K_PL1(KO):=if(KO=”R”, 22, if(KO=”M”, 24, if(KO=”F”, 28, “error1”)))

Заметьте, что в условии используется логическое равенство, несколько вложений для проверки условия, в конце – обработка ошибки ввода – сердитое предупреждение.

Аналогично создаем еще две функции для каждой строки.

K_PL2(KO) := if(KO=”R”, 30, if(KO=”M”, 32, if(KO=”F”, 36, “error2”)))

K_PL3(KO) := if(KO=”R”, 38, if(KO=”M”, 42, if(KO=”F”, 46, “error3”)))

Наконец, можно собрать все промежуточные функции в одну:

К_pl(KO, KM) := if(KM=”P”, K_PL1(KO), if(KO=”M”, K_PL2(KO), if(KO=”K”, K_PL3(KO), “error”)))

Однако при внимательном прочтении задания понимаем, что требуется вывести текстовую строку из кода обработки и кода пластины. Получим ее, используя встроенную функцию сложения строк, т.е. конкатенации:

K_PL(KO, KM) := concat(KO, К_ pl (KO, KM))

Проверьте полученный результат, вводя разные значения KO и KM:

K_PL(“M”,”M”)= K_PL(“R”,”K”)= K_PL(“F”,”P”)=

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

2. Решить систему уравнений графически

3. Определить графически корни квадратного уравнения .

3. Векторы и матрицы

Современное решение многих инженерных задач основано на выполнении различных операций линейной алгебры с векторами и матрицами.

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

Таким образом, массив – это множественный тип данных, состоящий из фиксированного числа элементов.

Ранее было дано определение ранжированной переменной, которая также применяется для задания множества значений. От массива она отличается тем, что существует «вся целиком» и доступа к отдельным ее значениям нет. Чтобы иметь доступ к каждому значению переменной с множеством компонент, ее следует задавать в виде массива. Для доступа к данным, находящимся в определенном элементе массива, указывается имя массива и порядковый номер этого элемента, называемый индексом.

Одиночную переменную называют скаляром. Переменную, представляющую собой просто список данных (столбец), называют одномерным массивом или вектором. Данные, представленные в виде таблиц, в формате строк и столбцов, хранятся в двумерных массивах (матрицах).

Для задания вектора поэлементно существует 2 способа – в случае, когда нет формулы для вычисления его элементов.

  1. Заполнением вручную, поэлементно, через символ запятая.

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

Создание матрицы - 3 способа

  1. Заполнением шаблона, вызванного из панели Векторы и матрицы с указанием числа строк и столбцов, содержащего пустые места ввода чисел – для небольших массивов.

  2. Считыванием данных из файла функцией F:=READPRN(“MIU.PRN”)

  3. Использованием дискретной переменной – в случае, когда есть формула для вычисления элементов массива.

Один элемент вектора, матрицы можно ввести вручную, задав имя, символ [ или указав индекс. Индексы в матрицах разделяются запятой.

Индексы векторов и массивов обозначают номера элементов по порядку, поэтому они могут быть только целыми, положительными, включая 0.

Нижняя граница индексации массива определена системной переменной ORIGIN. По умолчанию ORIGIN =0, если же необходимо индексировать, начиная с 1, то следует вручную набрать ORIGIN := 1.

Следует учесть, что в алгоритмы некоторых встроенных функций обработки массивов заложен ORIGIN =0, а иначе – выдается сообщение об ошибке. Поэтому будем привыкать к тому, что индексация в MathCAD предпочтительно начинается с 0.