![]() |
+7 (495) 229-0436 | ![]() |
shopadmin@itshop.ru | 119334, г. Москва, ул. Бардина, д. 4, корп. 3 | ![]() |
![]() |
![]() |
|
|
Maxima: компьютерная алгебра и символьные вычисления в Linux27.07.2012 12:40
verens
Чудище обло, озорно, огромно, стозевно и лаяй.
Стоит подчеркнуть, что без wxmaxima, которая предоставляет возможность копирования результатов в LaTeX, автозакрытия двоеточием и форматированным выводом, сама Maxima почти бесполезна и крайне раздражает своим невменяемым интерфейсом - настолько, что чаще сделать всё от руки проще и быстрее.
Как признаётся даже официальная документация, "This is a bit confusing for new users, but you must type that full command". Почему бы не наступить на горло собственной песне и сделать хотя бы вот это просто и пряморуко, автор понять не в силах. Опять-таки, графический интерфейс всё делает за нас. (%i16) A: matrix([1,e],[3,4]); То есть строки набиваются через [], разделение строк и каждого элемента - запятая. Простейшие операции с матрицами Например, нужно нам матрицу умножить саму на себя, но это будет параметрическая матрица: (%i1) A: matrix([a,b],[c,d]);Теперь умножим матрицу саму на себя. Казалось бы, это очевидно: K*K даст желаемый результат: (%i15) K*K; Однако это вызывает удивлённую реакцию в формате "что за ...?". Дело в том, что очевидное у пользователей и у программистов Maxima разное, и операция K*K даст нам поэлементное умножениематрицы. А чтобы получить обычное матричное умножение (строка на столбец), используем операцию K.K и получаем: (%i16) K.K; искомое умножение матриц. Подсыпаем ещё подосиновиков в турбокальян, и, попыхивая чёрным дымом, медленно двигаемся дальше. Упрощение\выполнение символических вычислений Пусть у нас есть перемножение нескольких матриц, ячейки которых содержат параметры. Мы слишком ленивы (и это правильно), чтобы делать это вручную, поэтому попробуем запрячь Maxima на выполнение этого. Например, умножили несколько матриц, и хочется развернуть алгебраическое выражение в каждой ячейке: (%i21) A*A1.A; Тут можно бы предположить, что пройдёт вариант с функцией evесли использовать её как detout: (%i22) ev A*A1.A; Тут нас облаяли, но и синтаксис: (%i22) ev(A*A1.A); желаемого не даёт. А жаль. Впрочем, Капитан Документация спешит на помощь: нужна функция expand: (%i23) expand(A*A1.A);
diff ( f(x), x, k) где: f(x) == дифференцируемая функция x == переменная, по которой следует дифференцировать k == порядок производной (k=1 - первая производная, k=2 - вторая производная) Учебник математического анализа, возможно, ещё не стёрся из памяти читателя окончательно, так что посмотрим на примеры. Берём первую первую производную от функции 1/(s+1)^2 по переменной s и получаем: (%i14) diff(1/(s+1)^2,s); Вторая производная от той же функции: (%i15) diff(1/(s+1)^2,s,2); Всё работает правильно.
Ежели отряды Анонимусов, достигших просветления поболе автора, накидают ещё ссылок, автор их (ссылок, не Анонимусов) вставит в пост с удовлетворением и искреннею радостию. Ссылки по теме |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
О нас |
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.
На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям. Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе. В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.
|
119334, г. Москва, ул. Бардина, д. 4, корп. 3 +7 (495) 229-0436 shopadmin@itshop.ru |
|
© ООО "Interface Ltd." Продаем программное обеспечение с 1990 года |