2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как подключить библиотеку в Maple 16?
Сообщение07.08.2013, 12:05 
Аватара пользователя


12/03/11
693
Есть файлы: .lib, .ind
Но в Maple 16 - в директории library лежат файлы .mla
Как-то можно их перетранслировать из .lib, .ind в .mla?

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение07.08.2013, 15:40 
Заслуженный участник


12/07/07
4548
Как «сконвертировать»: cм. в хелпе на локальном компьютере LibraryTools[ConvertVersion] или на сайте Maplesoft (там Maple 17, но это, в данном случае, не имеет значения). Если библиотека для той же версии, то конвертирование должно пройти успешно.

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение08.08.2013, 09:56 
Аватара пользователя


12/03/11
693
Большое спасибо. Выручаете во второй раз :)
Еще один глупый вопрос. Библиотека то подключилась.
Но вот можно ли как-нибудь почерпнуть информацию о командах?
По идее это должно быть в библиотеке (по крайней мере, мне так хочется думать) :oops:

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение08.08.2013, 20:17 
Заслуженный участник


12/07/07
4548
Справка библиотеки содержится в файле с расширением hdb.

Если файла справки нет, то march('list', <полное имя файла библиотеки>) вернет список всех объектов библиотеки.
В качестве примера в Maple 12
Код:
march(> 'list', "c:\\Program Files\\Maple 12\\lib\\userlib.mla");
[["intaddr.m", [2006, 10, 31, 15, 44, 5], 609406, 546], ["reconf.m", [2006, 10, 31, 15, 44, 5], 596475, 855],

]]
В тег code я скопировал только начало списка элементов библиотеки [это конвертированная библиотека (xxx.lib, xxx.ind) Аладьева для Maple 10], недостающие объекты показаны многоточием.
Используя print(<имя объекта>) можно попробовать получить сведения о нём. Например
Код:
> print(intaddr);
proc ()
  local a, b, c, d, h;
  assign67(a = [WD(), WS(), "_$Art_Kr$_"],h = NULL);
  if system(cat(a[1],"\\arp.exe -a > ",a[3])) = 0 then b := fopen(a[3],'READ')
   elif system(cat(a[2],"\\arp.exe -a > ",a[3])) = 0 then b := fopen(a[3],'READ')
   else delf(a[3]), ERROR("Internet address cannot be defined. Please, use other means")
  end if;
  while `not`(Fend(b)) do c := readline(b); d := ewsc(c,["."],[3]); if d <> [] then h := h, d end if end do;
  delf(a[3]), `if`(h = NULL,ERROR("Network connection is disabled"),8);
  [op(h[1]), op(SLD(Red_n(FNS(c," ",3)," ",2)," "))]
end proc
Так можно попробовать разобраться с содержимым библиотеки.

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение16.08.2013, 09:56 
Аватара пользователя


12/03/11
693
Конвертирование прошло, ошибок никаких программа не выдавала.
Но вот воспользоваться процедурами не получается.
И информацию о них получить при помощь "print" не получается :-(

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение16.08.2013, 18:25 
Заслуженный участник


12/07/07
4548
1. Что возвращает march('list', <полное имя файла библиотеки>)?
2. Что возвращает print?

Если print не выводит тело процедуры (т.е. результат вызова print(name); имеет вид proc() … end proc), то попробуйте перед вызовом print выполнить interface(verboseproc = 2);
[Cм. описание интерфейсной переменной verboseproc в хелпе; значение 2 позволит выводить тело процедуры, даже если она была описана с инициализированным параметром Copyright, лишь бы только не была встроенной процедурой.]

На самом деле, если ни описания пакета (txt, pdf), ни его хелпа нет, то мучиться с чтением текстов процедур, на мой взгляд, не имеет смысла. Слишком много времени уйдет на попытки разобраться.

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение20.08.2013, 12:15 
Аватара пользователя


12/03/11
693
GAA в сообщении #755281 писал(а):
1. Что возвращает march('list', <полное имя файла библиотеки>)?

Вот это самое удивительное.
Возвращает квадратные скобки :D

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение20.08.2013, 15:26 
Заслуженный участник


12/07/07
4548
Если библиотека пуста, то получим «квадратные скобки»:
Код:
> march('create',"d:\\Program Files\\Maple\\LIB\\user.lib");
> march('list', "d:\\Program Files\\Maple\\LIB\\user.lib");
           []
P.S. На всякий случай напомню себе, что вместо march('list',…)может быть удобней воспользоваться LibraryTools[ShowContents].

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение21.08.2013, 17:47 
Аватара пользователя


12/03/11
693
Так все оказалось еще интереснее.
Во-первых, до сего момента мне не удавалось нормально конвертнуть библиотеку.
Теперь удалось.
march('list') выдает информацию (наподобие той что у вас написано ваше), и интересующие меня процедуры.
НО! Команда print печает то, что находится у нее в теле - непонятно. :?:

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение21.08.2013, 17:54 
Заслуженный участник


12/07/07
4548
Да, команда print печатает то, что находится в теле.

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение22.08.2013, 09:52 
Аватара пользователя


12/03/11
693
Я наверное неправильно выразился.
Пишу: print(bad_procedure)
Выдает: bad_procedure

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение29.08.2013, 10:00 
Аватара пользователя


12/03/11
693
Вроде разобрался. Спасибо за помощь.
Образовался еще один технический вопрос.
Для того, чтобы заставить работать эту библиотеку в Maple на Linux, мне придется ее конвертировать уже на линухе или можно готовую забросить?

 Профиль  
                  
 
 Re: Как подключить библиотеку в Maple 16?
Сообщение30.08.2013, 09:37 
Аватара пользователя


12/03/11
693
Уже самостоятельно разобрался. Неактуально!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group