Ru-Board.club
← Вернуться в раздел «Программы»

» Maplesoft (Waterloo) Maple

Автор: terminat0r
Дата сообщения: 20.02.2009 17:15
makssick

Цитата:
Просто например я считаю несколько двойных интегралов численно, зацикленных на 30 кругов

для таких случаев - maple не очень удачный выбор.

Цитата:
Этот процес у меня получается очень длительным.

насколько длительный? Сравните с Mathematica.
если работа одноразовая, то можно и потерпеть. Если многократнaя- то компилятор + Intel MKL, IMSL, GSL, ... вам в руки.
Автор: makssick
Дата сообщения: 20.02.2009 18:04
В том то и дело, что не одноразовая работа.
Вот щас переписую все на С++, при той же точности расчетов, С++ считает за пару секунд. Еще правда не закончено, но все же отличие скорости заметно.
Но как бы интересно, если Мепл программа для научных расчетов, то хотелось бы посмотреть пример, нормального научного проэкта (то есть не рисунок качающегося маятника, а посерьезнее что нибудь). Хотя бесплатно его наверно никто не даст, .
А то такое чувство шо я пытаюсь использовать Ферррари чтобы ездить по детской площадке со скоростью 5 км/час.
Спасибо terminat0r . Посмотрел про Intel MKL. Неплохо. Нада будет по свободе посмотреть с чем его едят.
Автор: terminat0r
Дата сообщения: 20.02.2009 19:21
makssick

Цитата:
Но как бы интересно, если Мепл программа для научных расчетов, то хотелось бы посмотреть пример, нормального научного проэкта

а смысл какой? ну посмотрите Вы и что дальше?
вот здесь есть примеры(но все равно учебные) посерьезнее в разделе Special Relativity and Modern Physics
http://www.yorku.ca/marko/ComPhys/index.html
Автор: tumanovalex
Дата сообщения: 06.03.2009 17:03
Осваиваю Maple, взял для примера формулы для диполя. Хотел бы получить зависимость E2 от kr. Записываю формулы так:
k = 2*Pi/L:
kr = k*r:
A = Zb*k*k*Ib*l/Pi:
Etan = (A/4)*sin(tan*I)*exp(-I*kr)*(1/kr - I/(kr*kr) - 1/(kr*kr*kr)):
Er = (A/2)*cos(tan) *exp(-I*kr)*(1/(kr*kr) - j/(kr*kr*kr)):
E2 = Etan*conjugate(Etan) + Er*conjugate(Er);
Нужная зависимость не получается. Помогите, пожалуйста.
Автор: terminat0r
Дата сообщения: 06.03.2009 18:25
tumanovalex
посмотрите помощь в maple на :=, expression, function operator.
и разберитесь в разнице например такой записи
k := 2*Pi/L;
k := (L) -> 2*Pi/L;
Автор: tumanovalex
Дата сообщения: 07.03.2009 08:16
Вроде бы разобрался. Немного упростил свой пример и вместо переменных L и r решил использовать одну переменную kr. Поскольку мне нужно получить зависимость Е2 от kr, использую :=
Etan:= (1/4)*sin(theta*I)*exp(-I*kr)*(1/kr - I/(kr*kr) - 1/(kr*kr*kr));
Er:= (1/2)*cos(theta)*exp(-I*kr)*(1/(kr*kr) - I/(kr*kr*kr));
E2:= simplify(Etan*conjugate(Etan) + Er*conjugate(Er));
Однако в выражении для E2 появляются и r, и L. Видимо, где-то сохранилась зависимость kr от этих переменных. Подскажите, пожалуйста, как мне очистить историю и получить выражение для kr. Хотел бы также спросить, как можно прикрепить свой файл?
Автор: Difur
Дата сообщения: 07.03.2009 09:25
tumanovalex

Цитата:
как мне очистить историю
При помощи команды RESTART
Автор: tumanovalex
Дата сообщения: 07.03.2009 10:20
Спасибо большое! Заработало.

Добавлено:
Есть выражение:
Etan := (1/4)*sin(I*theta)*exp(-I*kr)*(1/kr-I/(kr*kr)-1/((kr*kr)*kr));
Оно преобразуется в вывыражение:
Etan := (1/4*I)*sinh(theta)*exp(-I*kr)*(1/kr-I/kr^2-1/kr^3)
А можно сделать так, чтобы после нажатия Enter после точки с запятой выражение бы записывалось в красивом математическом виде не преобразовываясь?
Автор: felix2
Дата сообщения: 22.03.2009 19:27
Не могли бы подсказать, как в Maple12 избавиться от следующей проблемы. Должно быть где-то на поверхности.
У меня операция Undo - откат редактирования- возможна только до первого исполнения любой оперции.
Autosave я отключил, хотя это не должно иметь значения для Undo.
В старых версиях, насколько я помню была установка глубины отката. Сейчас я этого найти не могу.
Хотя понимаю, что так не должно быть.
Автор: tumanovalex
Дата сообщения: 08.04.2009 17:03
Помогите, пожалуйста, освоить работу с массивами. Считываю данные из колонок (readdata, float, данные с точками), затем делаю m=array(дата). Хотел бы работать только с частью массива. К сожалению, забыл, как создать из имеющегося новый массив (все строки и только часть колонок, 3 строки и 3 колонки и т.п.). Хотел прикрепить файл с примером, но не понял, как это можно сделать. Помогите, пожалуйста.
Автор: terminat0r
Дата сообщения: 02.05.2009 19:05
tumanovalex

Цитата:
Хотел бы работать только с частью массива.


Я бы на вашем месте использовал Matrix, а потом например в LinearAlgebra package - все что хотите- SubMatrix, или Row, Column, RowOperation, ColumnOperation.

если нужен все-таки Array, используйте ArrayTools Package, и комманду Copy например. Но там надо иметь ввиду, что надо понимать различия в C_order и Fortran_order.
Или можно просто циклы написать и вручную перебрать те элементы, что надо.
Автор: SparcoCF
Дата сообщения: 09.05.2009 20:29
Всем привет !
Подскажите пожалуйста как должна выглядеть команда plot в программном пакете Maple что бы построить такой график

Буду благодарен любым примерам.
Автор: Partner1
Дата сообщения: 12.05.2009 11:59
SparcoCF
Можно так, вычисляя вершину параболы (a*x^2+b*x+c) и точки пересечения c осью x
plot(eval({a*x^2+b*x,-(a*x^2+b*x)},{a = -.1893491124, b = .1846153846}),x=0..1,y=-1..1,color=black,thickness=3)
Автор: Inblade0013
Дата сообщения: 31.05.2009 18:24
Народ помогите плз y2Uxx, x2Uyy = 0
Надо привести к канонической форме, хоть подскажите как это зделать
Автор: Partner1
Дата сообщения: 01.06.2009 09:47
Inblade0013
Если уравнение в частных производных, то привести к канонической форме смотри mapde (Paste Maple Text)
>with(PDEtools);
>PDE:=a*diff(f(x,y),x,x)+2*b*diff(f(x,y),y,x)+c*diff(f(x,y),y,y);
>mapde(PDE,canom);
Автор: H14sk
Дата сообщения: 16.06.2009 09:52
Есть УРЧП, конкретно, ур-е Блека-Шоулза: ur:=diff(f(t, S), t)+r*S*(diff(f(t, S), S))+(sigma^2)/2*S^2*(diff(f(t, S), S, S)) = r*f(t, S); Скажем, при sigma=r=1. Что-то не получается PDEplot.
Вроде, можно построить поверхность не выписывая явно решения. То что это ур-е решается явно - знаю, но как построить поверхность заданную УРЧП от двух переменных не решая уравнения?
Автор: wyxa
Дата сообщения: 17.06.2009 09:50
Привет всем! Простой вопрос.
У меня есть уравнение
Код: > a := x+y = y;
Автор: Partner1
Дата сообщения: 17.06.2009 10:33
wyxa
Левая часть минус правая часть:

Код: >simplify(lhs(a)-rhs(a))
Автор: rakis
Дата сообщения: 05.09.2009 23:46
Необходимо решить задачу математического моделирования:
Сколько шариков диаметром 30мм вместится в 1м куб.

Вопрос: Можно ли эту задачу решить с помощью Maple?

--
В смежной теме подсказали что задача называется "упаковка шаров" (Sphere packing)
Автор: XimeraRULEZZZ
Дата сообщения: 12.09.2009 10:58
Поддерживает ли 13-я версия сабжа многоядерные процы?
Автор: wyxa
Дата сообщения: 24.09.2009 05:28
Можно ли в Maple выводить значения переменных в одну строчку?
Например, у меня есть трёхмерные массивы а и b, у которых большинство элементов равно нулю, а мне нужнов вывести только ненулевые, что-то типа:
a[1,1,1]:=1, b[1,2,3]=2
...
Буду благодарен за ответ...
Автор: Partner1
Дата сообщения: 24.09.2009 07:10
wyxa
Как пример формируется 3d массив и выводятся нулевые элементы, правда не в строчку.
Если нужно ненулевые, то a[i,j,k]=0 заменяем на a[i,j,k]<>0

Код:
>restart;
>seq(seq(seq(assign(a[i,j,k],i-j+k),i=1..3),j=1..3),k=1..3);
>seq(seq(seq(`if`(a[i,j,k]=0,lprint("a"[i,j,k]=0),NULL),i=1..3),j=1..3),k=1..3);
Автор: wyxa
Дата сообщения: 24.09.2009 12:28
Partner1
Спасибо большое!

Всё же меня интересует вопрос именно вывода на экран, как и во всех стандартных языках программирования. Неужели нет команды для этого?

Например, у меня есть переменная
> a[1,2,3] = 1
Я хочу выводить её не в таком виде, а в таком
> e[1]*e[2]*e[3] = 1
т. е. a[i,j,k] = m я хочу выводить как e[i]*e[j]*e[k] = m, где i,j,k,m будут заменяться на соответствующие числа.
В Си например, это делается так printf("e[%d]*e[%d]*e[%d] = m",i,j,k,m);
Но это всё частный пример… Конечно, для вычислений формат вывода не важен (для проверки правильности работы программы, например).
Автор: Partner1
Дата сообщения: 24.09.2009 12:37
wyxa
В Maple тоже есть команда printf, и работает вроде также как в Си,но там надо разбираться.
Автор: svs123456789
Дата сообщения: 01.10.2009 12:32
а можно как либо импортировать расчет из Mathcad ?
Автор: bearjrgm
Дата сообщения: 01.10.2009 13:22

Цитата:
а можно как либо импортировать расчет из Mathcad ?

Вряд ли, да и бессмысленно это.
Автор: svs123456789
Дата сообщения: 01.10.2009 18:30

Цитата:
Вряд ли, да и бессмысленно это.

мне нужно сгенерировать програмный код на основе вычислений в нем
Автор: bearjrgm
Дата сообщения: 02.10.2009 17:06
svs123456789
В лоб Вы ее не перенесете, необходимо будет учесть специфику Maple. У меня был подобный опыт - полное переписывание с нуля.
Автор: Aleksey1983
Дата сообщения: 30.10.2009 22:17
Подскажите, как посредством Maple 13 решать такие задачи:
http://img177.imageshack.us/img177/7333/82864152.jpg
Автор: wyxa
Дата сообщения: 31.10.2009 04:38
Aleksey1983
Попробуйте сначала погуглить и посмотреть, что есть в учебниках сами.

Страницы: 1234567891011121314

Предыдущая тема: как узнать куда коннектится прога ?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.