Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Практическая информатика
  3. Глава 8 Системы компьютерной алгебры
  4. Maxima

Алгебраические преобразования

Особо важную роль играет способность системы Maxima производить разнообразные символьные преобразования алгебраических выражений. Следующий пример демонстрирует раскрытие скобок в них:

(C1) p1:x^2-1;
				 2
(D1) 			 x - 1

(C2) p2:x-1;
(D2) 				 x - 1

(C3) expand(p1*p2);
			 3	 2
(D3) 			 x - x - x + 1

(C4) expand((p1+p2)^2);
		 4 3	 2
(D4) 		 x + 2 x - 3 x - 4 x + 4

Функцию divide можно использовать для нахождения частного и остатка от деления одного многочлена на другой:

(C5) divide(p1*p2, p1);
(D5) 			 [x - 1, 0]

Функция gcd определяет наибольший общий делитель многочленов, а factor осуществляет разложение многочлена на множители:

(C6) gcd(x^3-1, x^2-1, x-1);
(D6) x - 1

(C7) factor(x^8-1);
 		 2	 4
(D7)	 (x - 1) (x + 1) (x + 1) (x + 1)

Подстановка какого-либо выражения вместо переменной осуществляется при помощи операции =. Например, заменим все вхождения x в выражении на 5/z:

(C8) x^4+3*x^3-2*x, x=5/z;
			 10 375 625
(D8) 		 - -- + --- + ---
			 z 3 4
			 z	 z

Функция ratsimp выносит за скобки наибольший общий делитель:

(C9) ratsimp(%);
			 3
		 10 z - 375 z - 625
(D9) 		 - -------------------
				4
			 z

Используя функцию assume (to assume - допускать), можно при вычислениях учитывать дополнительные условия, задаваемые неравенствами:

(C10) sqrt(x^2);
(D10) 			 ABS(x)
(C11) assume(x<0);
(D11) 			 [x < 0]
(C12) sqrt(x^2);
(D12) 				 - x

Функция forget (to forget - забывать) снимает все ограничения, наложенные при помощи assume:

(C13) forget(x<0);
(D13) 			 [x < 0]
(C14) sqrt(x^2);
(D14) 			 ABS(x)

Maxima легко оперирует тригонометрическими выражениями. Так, функция trigexpand использует формулы преобразования сумм двух углов для представления введенного выражения в как можно более простом виде:

(C15) sin(u+v)*cos(u)^3;

		 3
(D15) 		COS (u) SIN(v + u)

(C16) trigexpand(%);

	 3
(D16) 	COS (u) (COS(u) SIN(v) + SIN(u) COS(v)) 

Функция trigreduce преобразует тригонометрическое выражение к сумме элементов, каждый из которых содержит только единственный sin или cos:

(C17) trigreduce(%);
 
 SIN(v + 4 u) + SIN(v - 2 u) 
(D17) --------------------------- 
 8 
 
 3 SIN(v + 2 u) + 3 SIN(v)
 + -------------------------
 8 

Функции realpart и imagpart возвращают действительную и мнимую часть комплексного выражения:

(C18) z1:-3+%i*4;
(D18) 		 4 %I - 3

(C19) z2:4-2*%i;
(D19) 		 4 - 2 %I

(C20) z1*z2;
(D20) 	 (4 - 2 %I) (4 %I - 3)

(C21) expand(%);
(D21) 		 22 %I - 4

(C22) realpart(''c20);
(D22) 		 - 4

(C23) imagpart(''c20);
(D23) 		 22

Перекрёстные ссылки книги для Алгебраические преобразования

  • Работа с выражениями
  • Вверх
  • Решение уравнений

Book navigation

  • Содержание
  • Глава 1 Основы информатики
  • Глава 2 Операционные системы и сети
  • Глава 3 Графика на компьютере
  • Глава 4 Обработка текста
  • Глава 5 Основы языка HTML
  • Глава 6 Динамический HTML
  • Глава 7 Простейшие вычисления
  • Глава 8 Системы компьютерной алгебры
    • Mathematica
    • Maxima
      • Работа с выражениями
      • Алгебраические преобразования
      • Решение уравнений
      • Определение функций
      • Построение графиков
      • Операции математического анализа
      • Матричные вычисления
      • Программирование в системе Maxima
  • Глава 9 Модели и программирование
  • Глава 10 Логическое программирование
  • Глава 11 Введение в ООП
  • Глава 12 Программирование и интернет

Последние материалы

  • Эмулятор терминала Terminator
    4 hours ago
  • Приложение scanimage
    6 days 1 hour ago
  • Утилита sensors
    1 week 2 days ago
  • Сканер Rkhunter
    2 weeks 3 days ago
  • Программа resize2fs
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru