Главная » Просмотр файлов » 1610912777-ff63a1b83b9ac0b597c9346050946007

1610912777-ff63a1b83b9ac0b597c9346050946007 (824719), страница 5

Файл №824719 1610912777-ff63a1b83b9ac0b597c9346050946007 (ПИМ_Reduce) 5 страница1610912777-ff63a1b83b9ac0b597c9346050946007 (824719) страница 52021-01-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Декларация print_precisionне изменяет точность, но позволяет уменьшить количество цифр привыводе. Пример:1:2:3:4:10.16x := 1/7;1/7on rounded;x;0.142857142857precision 20;125: x;0.142857142857142857146: print_precision 5;7: x;0.14286SymmetricЕсли оператор наделен свойством симметричности, то его аргументы упорядочиваются в соответствии с внутренним порядком системы.Глава 10. Декларации43Пример:1:2:10.17operator p;symmetric p;3:p(y, a, sin(x));p(sin(x), a, y)MatrixДекларация matrix объявляет матрицы.

Область действия объявления матрицы всегда глобальна, даже если матрица объявляется внутрипроцедуры или блока. Нумерация элементов матрицы в каждом измерении начинается с единицы. При объявлении элементы матрицы инициализируются нулевыми значениями. Пример:1: matrix a(2, 2), b(2, 1), c(1, 2);2: c ∗ a ∗ b;mat((0))$3:length(ws);{1,1}Команда length возвращает список размерностей матрицы.Глава 11ПереключателиПереключатели (флаги) регулируют режимы вычисления, представления и печати.

Любой переключатель имеет два состояния: поднят иопущен. Команда «on имя флага» — поднимает флаг и команда «offимя флага» — опускает флаг. Каждый флаг имеет исходное состояние(состояние по умолчанию). Ниже в заголовках указываются исходные состояние флагов и комментарий, если не оговорено противное, описываетдействия при этом состоянии.Пункт меню «Switch» окна «Reduce» позволяет вставлять в строкуввода команды переключения флагов.

В меню отражается текущее состояние флагов и это отражение будет верным, если производить изменение состояния флагов только посредством меню. Ввод команд переключения посредством клавиатуры на информацию в меню никакоговлияния не оказывает.11.1Allbrunch (on)Функция solve отображает все ветви решения уравнения. Пример:1:2:solve(tan(x) = 0, x);{x = arbint(1) ∗ pi}off allbranch;3:solve(tan (x) = 0, x);{x = 0}Здесь arbint(1) — произвольная целочисленная константа.44Глава 11. Переключатели11.245Allfac (on)Из выражения выносятся общие множители.

Пример:1:2:11.3z := a ∗ x + a ∗ y;z := a ∗ (x + y)part(z, 0);3:4:timesoff allfac;z;5:a∗x+a∗ypart(z, 0);plusArbvars (on)При решении вырожденных или недоопределенных систем уравненийв представлении решения используются константы arbcompex(j). Пример:solve(a ∗ x + b ∗ y = c, {x, y});{{x = (−arbcomplex(1) ∗ b + c)/a, y = arbcomplex(1)}}2: off arbvars;3: solve(a ∗ x + b ∗ y = c, {x, y});{{x = (−y ∗ b + c)/a}}1:11.4Balanced_mod (off)Модуль целого числа лежит в диапазоне [0, . . . , n], где n установлено декларацией setmod.

(On) — модуль будет лежать в диапазоне[−floor((n − 1)/2), . . . , ceiling((n − 1)/2)].11.5Combineexpt (off)(On) — пытается максимально упростить выражения с радикалами.11.6Comp (off)(On) — некоторые функции компилируются в ускоренную форму.Глава 11. Переключатели11.746Complex (off)(On) — упрощение и факторизация выражений осуществляется врамках комплексной арифметики. Пример:1:2:11.8z := (x + i ∗ y)/(i ∗ x − y);z := (x + i ∗ y)/(i ∗ x − y);on complex;3: z;−iCramer (off)(On) — для обращения матриц и решения линейных систем уравнений используется алгоритм Крамера.11.9Defn (off)(On) — выражения печатаются (но не вычисляются) в виде Lisp.11.10Demo (off)(On) — в процессе выполнения программы из файла выполняет очередную команду только после нажатия клавиши «Enter».11.11Div (off)(On) — переменные, стоящие в знаменателе, переписываются в числитель с отрицательными степенями.11.12Echo (off)Переключатель по умолчанию опущен в интерактивном режиме иподнят при чтении и записи в файл.Глава 11.

Переключатели11.1347Errcont (off)(On) — при обнаружении ошибок выполнение программы из файлане останавливается.11.14Evallhseqp (off)(On) — вычисляется не только правая часть уравнений, но и левая.11.15Exp (on)Внутренние скобки в алгебраических выражениях раскрываются.11.16Ezgcd (off)(On) — при вычислении наибольшего общего делителя используетсяEz Gcd-алгоритм, который использует модульную арифметику и, вообще говоря, быстрее.

Переключатель gcd также должен быть включен.11.17Factor (off)(On) — факторизует многочлены над кольцом целых чисел.11.18Fort (off)(On) — осуществляет вывод выражений в формате языка «Fortran».11.19Fortupper (off)(On) — использует прописные буквы при включенном fort.Глава 11. Переключатели11.2048Fullprec (off)(On) — дробная часть вещественного числа дополняется справа нулями в соответствии с текущей точностью.11.21FullRoots (off)(On) — оператор solve выводит точные решения полиномов третьейи четвертой степени. Пример:1:2:3:11.22solve(x ∗ ∗3 − 2, x);{x=root_of(x_ ∗ ∗3 − 2, x_, tag_3)}on fullroots;solve(x ∗ ∗3 − 2, x);p{x = (2 ∗ ∗(1/3) ∗ p(3) ∗ i − 2 ∗ ∗(1/3))/2,x = (−2 ∗ ∗(1/3) ∗ (3) ∗ i − 2 ∗ ∗(1/3))/2, x = 2 ∗ ∗(1/3)}Gcd (off)(On) — происходит сокращение числителей и знаменателей на наибольший общий делитель.

(Off) — сокращение производится только намножители простого вида.11.23Horner (off)(On) — полиномы выводятся в форме Хорнера.11.24Ifactor (off)(On) — при факторизации полиномов целочисленный множитель разлагается на простые множители.11.25Lessspace (off)(On) — подавляет вывод лишних пустых строк.Глава 11. Переключатели11.2649List (off)(On) — каждое слагаемое печатается в отдельной строке.11.27Mcd (on)Алгебраические выражения приводятся к общему знаменателю.11.28Modular (off)(On) — коэффициенты полиномов берутся по модулю заданному декларацией setmod.11.29Msg (on)(Off) — не печатаются предупреждающие сообщения.11.30Multiplicities (off)Функция solve включает кратные корни в список решений однократно, а в глобальной переменной root_multiplicities указывается кратность корня.

(On) — все корни включаются в список решений, а переменная root_multiplicities не имеет значения.11.31Nat (on)(Off) — вывод осуществляется во входном формате. Сбрасывать флагnat целесообразно при выводе в файл. При выводе на экран большого объема информации при поднятом флаге оболочка «Reduce» можетработать неустойчиво. Поэтому в этом случае также полезно флаг natсбросить.11.32Nero (off)(On) — нулевые значения переменных не печатаются.Глава 11. Переключатели11.3350Numval (on)При включенном rounded математические функции возвращают вещественные значения.11.34Output (on)(Off) — не выводятся результаты вычислений.11.35Precise (on)Значением выражения sqrt(x∗∗2) будет abs(x).11.36Pret (off)(On) — введенное выражение сначала печатается, а потом вычисляется.11.37Rationalize (off)(On) — рациональные выражения преобразуются таким образом, чтокомплексные и радикальные выражения устраняются из знаменателя.11.38Revpri (off)(On) — компоненты выражений печатаются в обратном (по сравнению с внутренним порядком) порядке.11.39Roundall (on)(Off) — рациональные числа (при включенном режиме rounded) неконвертируются к вещественному виду.Глава 11.

Переключатели11.4051Rounded (off)(On) — включает режим вещественной арифметики.11.41Time (off)(On) — после каждой команды печатает время потраченное на выполнение этой команды.Глава 12ПроцедурыЛогически завершенные части кода можно оформлять в виде процедур. Объявление процедуры начинается с ключевого слова procedure,которому может предшествовать определение типа процедуры (algebraic,integer, real), далее имя процедуры, формальные параметры (если ониесть) заключенные в круглые скобки и разделенные запятыми, терминатор и тело процедуры.

Тело процедуры может состоять из одного оператора или нескольких оформленных в виде «простого» или «жесткого»блока.Процедуры, в том числе и системные, не защищены от переопределения — «Reduce» только выдает предупреждение:∗ ∗ ∗ <имя процедуры> REDEF IN ED.Вызов процедуры осуществляется обычным порядком: имя процедуры и далее в круглых скобках переменные или выражения через запятуюпо количеству формальных параметров процедуры.

Если процедура неимеет параметров, то при вызове скобки все-таки нужны.Следующий пример демонстрирует особенности применения оператора let к формальным параметрам процедур.1:2: x := 5$3: y := a$4: let_test(x, y);{6, b}5: x;5procedure let_test(x, y);beginx := x + 1;let y = b;return {x, y};end;526:7:y;ba;bГлава 12. Процедуры53Отсюда можно сделать вывод о нецелесообразности применения оператора let к формальным параметрам процедур. Хотя этот механизмможно использовать для вывода значений из процедуры.

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

Однако, если присвоить матричную переменную новой переменной, то эта новая переменная уже лишена этого недостатка.Пример:1:procedure mat_test(x);beginy := x;write y(1, 1);clear y;2:3:end;a := mat((a11, a12), (a21, a22))$mat_test(a);a11При этом надо иметь ввиду, что переменная y из этого примера, каквсякая матричная переменная, является глобальной. И это таит в себе две потенциальные возможности для трудноуловимых ошибок. Вопервых, если перед вызовом процедуры переменная y имела какое-тозначение, то это значение будет потеряно. Во-вторых, после вызова процедуры она имела бы значение a, если бы к ней не был применен оператор clear. Поэтому для таких переменных целесообразно использоватьуникальные имена и избавлять их от значений посредством оператораclear.Глава 13Построение графиковГрафические возможности «Reduce» обеспечивает программа «GnuPlot»1 .

Взаимодействие с этой программой осуществляет пакет gnuplot.Загрузка пакета командой «load_package gnuplot;» открывает доступк функции plot, которая может иметь от одного и более аргументов.Первый аргумент функции plot, задающий функцию, график которойбудет отображаться, может задаваться в виде (в скобках указываетсятип графика):– Выражение от одной переменной (кривая в двухмерном пространстве): x ∗ sin(x) + cos(x).– Список выражений от одной переменной (семейство кривых в двухмерном пространстве): {sin(x), cos(x)}.– Выражение от двух переменных (двухмерная поверхность в трехмерном пространстве): sin(x) ∗ cos(y).– Выражение вида point(u, v), где u и v выражения от одного параметра (параметрическая кривая в двухмерном пространстве):point(sin(x), cos(x)).– Выражение вида point(u, v, w), где u, v и w выражения от одногопараметра (параметрическая кривая в трехмерном пространстве):point(sin(x), cos(x), x).1http://sourceforge.net/projects/gnuplot54Глава 13.

Характеристики

Тип файла
PDF-файл
Размер
789,27 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6513
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее