2014 dxdy logo

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

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




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


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

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


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

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


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

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


12/07/07
4522
Справка библиотеки содержится в файле с расширением 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
690
Конвертирование прошло, ошибок никаких программа не выдавала.
Но вот воспользоваться процедурами не получается.
И информацию о них получить при помощь "print" не получается :-(

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


12/07/07
4522
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
690
GAA в сообщении #755281 писал(а):
1. Что возвращает march('list', <полное имя файла библиотеки>)?

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

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


12/07/07
4522
Если библиотека пуста, то получим «квадратные скобки»:
Код:
> 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
690
Так все оказалось еще интереснее.
Во-первых, до сего момента мне не удавалось нормально конвертнуть библиотеку.
Теперь удалось.
march('list') выдает информацию (наподобие той что у вас написано ваше), и интересующие меня процедуры.
НО! Команда print печает то, что находится у нее в теле - непонятно. :?:

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


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

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


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

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


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

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


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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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