Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Wolfram Mathematica | Математика

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wolfram Mathematica 14

Загрузка и поиск "лекарств"в "Варезнике"


 
Здесь обсуждаем вопросы языка Mathematica и программы, которая ИМХО лучше других выполняет свою задачу и, кроме, того очень точно соответствует своему названию, хотя там не забыли и про физиков и химиков и всех остальных:)

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 16:00 01-12-2003 | Исправлено: zAlAn711, 18:21 10-01-2024
BookWarrior



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov
ок, буду иметь в виду, я не знал.
В составе xpdf есть тулза pdffonts, в том числе и для виндовс, она сразу делает листинг, как непосредственно статуса встроенности шрифтов документа (emb), так и встроенности "внешних" шрифтов, обычно приходящих с картинками (sub).
   
 
это вдруг кому-нибудь пригодится, очень удобная вещь. Вот сейчас, в частности, у меня экспорт из математики не дал встраивания её странных шрифтов в PDF-картинку и Акробат это не пофиксил с первого захода. Зато хелветику встроил. Но они вроде этого и не обещали для PDF (я не видел) - но обещали для EPS, видимо отличаются настройки сохранения.

Всего записей: 1340 | Зарегистр. 15-08-2004 | Отправлено: 14:16 15-04-2012 | Исправлено: BookWarrior, 14:17 15-04-2012
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BookWarrior
Сейчас подумалось: возможно, уже существуют утилиты, специально предназначенные для встраивания шрифтов в PDF. Сомнительно, что Acrobat - единственная программа, способная на это. По многим параметрам его уже давно переплюнули продукты сторонних разработчиков: достаточно упомянуть Infix PDF Editor как гораздо более полнофункциональный редактор PDF и многочисленные программы преобразования PDF в формат Word и векторные форматы, по сравнению с которыми Acrobat отстает уж точно более чем на 5 лет (огромный срок для такой отрасли!), а тенденции к развитию в этих направлениях у него не наблюдается. Можно по аналогии предположить, что, так же, как экспорт в Word в Acrobat де-факто является артефактом, который не менялся в последние 10 лет, так и функция встраивания шрифтов "Embed fonts" - не более чем артефакт (это не касается печати на виртуальный принтер Distiller)...

Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 21:07 15-04-2012
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BookWarrior
popkov
 
Приболел, не смог вовремя попробовать рецепт лечения файла при экспорте рисунка с кириллицей в pdf, данный гуру popkov на предыдущей странице. Сейчас попробовал, ничего не получилось .
Действовал так:  
Код:

Код:
gr = Plot[x^2, {x, -1, 1},  
  PlotLabel -> "Это попытка экспорта рисунка с кириллицей в PDF",  
  BaseStyle -> {FontFamily -> "Arial", FontSize -> 12,  
    FontSlant -> Italic},
  LabelStyle -> {FontFamily -> "Arial", FontSize -> 12}]
Export["e:\\temp\\test.pdf", gr, "PDF"];

 
Рисунок создается, в окне Математики выглядит нормально. Вот снимок:
Ссылка
Вот что видно в Акробате:
Ссылка
Версия Акробата: Acrobat Pro 9.4.5
В свойствах шрифтов документа вот что:
Ссылка
 
Иду по меню: Advanced->Print Production -> Preflight
В закладке Preflight сюда: PDF fixups -> Embed fonts и жму кнопку Analyze and fix.
 
Появляется сообщение, что не найдено ошибок и предупреждений и результат вот какой:
Ссылка
То есть отсутствующие символы в заголовке рисунка появились, но они, по всей видимости, в западно-европейской кодировке.
В свойствах шрифта теперь вот что:
Ссылка
 И как перейти к нужной кодировке, непонятно. Пробовал играть с опцией CharacterEncoding, но результат все время один и тот же.
И что же теперь делать?

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 22:25 15-04-2012 | Исправлено: Andrew10, 22:31 15-04-2012
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andrew10
Для кириллицы, к сожалению, только два варианта: печать непосредственно из FrontEnd на виртуальный PDF-принтер или же конвертация всех кириллических символов в контуры (хорошо работает не со всеми шрифтами, в частности для Arial Italic на моей машине получаются неправильные межбуквенные интервалы):
 

Код:
outline = First@ImportString[ExportString[#, "PDF"], "PDF"] &;
gr = Plot[x^2, {x, -1, 1},  
  PlotLabel ->  
   outline@Style["Это попытка экспорта рисунка с кириллицей в PDF",  
     12, FontFamily -> "Arial", Magnification -> 1],  
  BaseStyle -> {FontFamily -> "Arial", FontSize -> 12,  
    FontSlant -> Italic}]

 
Еще один вариант - добавить кириллические надписи в Acrobat или же непосредсвенно в Word.

Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 07:33 16-04-2012
BookWarrior



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov

Цитата:
так и функция встраивания шрифтов  
безусловно! если посмотреть, как та же проблема решается под линукс (где-то видел), то это вообще не проблема, а дебилизм создателей дров: под линуксом в конфиге драйвера печати просто комментируется список этих 14-ти стд шрифтов и всё, драйвер их тоже встраивает.
 

Цитата:
возможно, уже существуют утилиты
да, но у меня Акробат корпоративный есть, решить текущую задачу хватит, а дальше - гори оно синим пламенем =)
 

Цитата:
преобразования PDF в формат Word
непонятно, как это может работать: после вёрстки в PS и производные форматы текст прекращает быть Ворд-форматным. Принципиально. Вся мета-инфа разметки теряется, в худшем случае всё преобразуется в векторную картинку, включая буквы, и коды символов вообще отсутствуют в документе - всё явится картинкой. Думаю, если вы видели такие программы, они лишь какую-то урезанную функцию выполняют, вроде выгрузки в том же виде, что и "боксы" в PS-документе. Это возможно и это давно есть в Акробате. В нём вообще всё есть, на самом деле, что сделать возможно. Но есть вещи, вроде такого преобразования, которые в принципе не должны быть возможны.
 
Другими словами PS - это финальный формат, печатная подготовка является первостепенной задачей, это формат, не предназначенный для дальнейшей работы с самой информацией документа. А Ворд - это как раз формат для работы с информацией, где печатной подготовке отводится второстепенная роль: лишь бы редактируемость была высокой и не надо было пересобирать. Разница такая же, как между языками интерпретаторами и компиляторами.
 
Andrew10

Цитата:
Рисунок создается, в окне Математики выглядит нормально
я ещё не пробовал, но скорее всего надо делать так: из математики выгружать в PDF или EPS, затем встраивать шрифты указанным способом через Акробат, а потом вставлять в финальный документ для pdflatex. Собранный PDF по идее в колонке sub проги выше должен тоже давать везде Yes, типа со всех картинок пришли встроенные шрифты. Но я не пробовал - это следующее, что попробую, когда руки доберутся. Т.е. идея такая: на каждом этапе первый сгенерённый PDF сразу фиксить, встраивать шрифты. Если это не поможет, не знаю как делать.
 
А, ещё вот что: я не знаю, насколько критично сообщение No в столбике sub, если emb = Yes. Казалось бы, если шрифт есть, наверное это и есть конце истории. Так что сказанное выше - лишь для перестраховки. Получается, что в виде, когда Yes, No даже лучше - меньше места будет занимать, ибо шрифт не дважды встроен, а лишь единожды. Но если картинку умудриться экспортировать, то в ней не будет шрифта.
 

Цитата:
И как перейти к нужной кодировке, непонятно
я боюсь кодировка никак не меняется на лету. Скорее всего проблема в том, что шрифт не имеет кириллических глифов. В адобе отличается Arial (и прочие) для англо и кир: для кир это Arial Cyr. Но попытка его встроить указанным методом почему-то как-будто подцепляет другой шрифт, видимо просто Arial, и отрисовать неможет.
 
Короче, порыв чуточку, стало быстро понятно, что проблема с кириллицей и PDF - серьёзная. Поищите, я не был пристрастен, но в качестве работающих альтернатив, берите EMF экспорт из математики, она векторным рисунком всё сохранит - на печати выглядит неотличимо от электронного текста. Поскольку у Математики в принципе всегда баги с рендерингом содержимого в картинку (боже, что она с ним делает!), то я нашёл это единственным надёжным способом экспортировать скриншоты кода в векторный формат (вместе с кодом и т.п.). А потом EMF, например, вставляете в Ворд и печатаете. В прочие векторные форматы сохраняет из рук вон плохо. Шрифты при этом подходе, конечно рендерятся в векторные сегменты.
 
С PDF+кириллица ещё будет проблема с поиском в PDF: посмотрите, что кириллица даёт, если попытаться её скопировать из PDF и вставить в Notepad - так кракозяблы. Я не знаю, как это решается тоже. Это когда PDF из pdflatex сгенерён. Этим страдают даже статьи УФН (успехи физ. наук).

Всего записей: 1340 | Зарегистр. 15-08-2004 | Отправлено: 07:45 16-04-2012
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andrew10
BookWarrior

Цитата:
берите EMF экспорт из математики, она векторным рисунком всё сохранит - на печати выглядит неотличимо от электронного текста.

Хорошая альтернатива, сам я именно так и поступаю обычно: в действительности этот способ практически эквивалентен непосредственной печати из FrontEnd на виртуальный PDF-принтер - при этом в спуле принтера создается EMF-файл высокого разрешения (по умолчанию он имеет качество 600 dpi в большинстве приложений и может быть даже непосредственно извлечен оттуда такими утилитами как PrintMirror). Однако есть и различие: при печати нет контроля качества генерации EMF-файла (а точность позиционирования векторных объектов в нем соответствует разрешению, с которым он рендерится на экране, поэтому чем меньше рисунок, тем менее точный веторный файл будет сгенерирован!), а при экспорте в EMF можно или задать больший ImageSize, или с помощью Magnify масштабировать его.
 
Сравнил только что в Mathematica 8.0.4 качество экспорта в EMF  и печати в PDF рисунка буквы "a":

Код:
 
graphics1 =  
  First@ImportString[
    ExportString[Style["a", FontFamily -> "Times"], "PDF"], "PDF"];
Export["C:\\test1.emf", graphics1]
 

В результате качество оказалось практически идентичным (для просмотра полученного EMF файла при большом увеличении использовал утилиту WMFView).
 
Добавлено:
BookWarrior

Цитата:
Шрифты при этом подходе, конечно рендерятся в векторные сегменты.  

Вовсе нет, при печати EMF-файлов символы по умолчанию не конвертируются в линии, что легко проверить.
 

Цитата:
С PDF+кириллица ещё будет проблема с поиском в PDF

При генерации PDF из Word таких проблем не замечал.

Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 10:31 16-04-2012 | Исправлено: popkov, 11:02 16-04-2012
SHREKES



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не подскажете как сделать чтобы все шаги показывала или развернутый расчет делала
а то установил 8-ю версию а она при расчете показывает только ответ

Всего записей: 387 | Зарегистр. 15-10-2005 | Отправлено: 19:27 16-04-2012
yuk1958



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SHREKES
 

Цитата:
а она при расчете показывает только ответ

Извините, пожалуйста, за оффтоп, но все программы, которыми довелось пользоваться   (Maple, MathCad), как правило, показывают только ответ. В Maple есть команда: ShowSolution, которая позволяет видеть шаги вычислений. В Mathematica я новичок, но может приведенное выше Вам поможет?

----------
Истина где-то рядом...

Всего записей: 1471 | Зарегистр. 12-08-2010 | Отправлено: 20:28 16-04-2012
SHREKES



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да знаю я, только в Mathematica есть функция StepMonitor, но  там всего 2 шага: вопрос и ответ

Всего записей: 387 | Зарегистр. 15-10-2005 | Отправлено: 21:19 16-04-2012
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SHREKES
Используйте Trace или TraceScan. Предупреждение: логика систем символьной математики сильно отличается от человеческой...
А вообще, есть отдельный специализированнный коммерческий пакет для "человеческих" решений.

Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 00:39 17-04-2012
BookWarrior



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov

Цитата:
При генерации PDF из Word  

я только случай "когда PDF из pdflatex сгенерён" имел в виду, там может не очень акцентировал это, но написал. Это исключительно латексно-PDF-ная фишка, и как с ней справляться, я хз. Она убила мой моск. Весь.
 
Вообще если кто pdflatex с кириллицей решит проблему (т.е. чтобы копировались буквы нормально из PDF документа), напишите, потомки вас не забудут, по-моему проблема больше 10 лет существует без прогресса. Зато кириллические шрифты (pscyr) сделаны просто на ура и в огромном многообразии. Убийственно просто, что никто копирование не доработал.

Всего записей: 1340 | Зарегистр. 15-08-2004 | Отправлено: 09:46 17-04-2012
SHREKES



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
popkov
подскажи как и куда команду вбивать: до или после формулы и что дополнительно проставлять (скобки и т.п)??

Всего записей: 387 | Зарегистр. 15-10-2005 | Отправлено: 19:21 17-04-2012
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SHREKES
А посмотреть страницу документации Trace - так трудно? Ясное дело, надо интересующий код обернуть в Trace или TraceScan c соответствующими параметрами. Но "человеческого" ответа ожидать не следует: здесь царствует машинная логика.

Всего записей: 1833 | Зарегистр. 22-03-2003 | Отправлено: 22:10 17-04-2012
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, преобразовать выражение.
Есть дробь. в TraditionalForm- виде выглядит так:
   
Хочу, чтобы она привелась к виду
   
 
без использования "рук". Как это можно сделать?
 
Само выражение в StandartForm:

Код:
(I Sqrt[a1] AiryAi[\[Xi]2] AiryBi[\[Xi]1] -  
   I Sqrt[a1] AiryAi[\[Xi]1] AiryBi[\[Xi]2] + (-b1)^(1/3)
     AiryAiPrime[\[Xi]1] AiryBi[\[Xi]2] - (-b1)^(1/3)
     AiryAi[\[Xi]2] AiryBiPrime[\[Xi]1])/(AiryAi[\[Xi]2] \
AiryBi[\[Xi]1] - AiryAi[\[Xi]1] AiryBi[\[Xi]2])

 
Измучился весь
Спасибо!

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 16:47 18-04-2012 | Исправлено: Andrew10, 16:48 18-04-2012
qvbit

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrew10
Вот так подойдет?
 
z=(I Sqrt[a1] AiryAi[\[Xi]2] AiryBi[\[Xi]1]-I Sqrt[a1] AiryAi[\[Xi]1] AiryBi[\[Xi]2]+(-b1)^(1/3) AiryAiPrime[\[Xi]1] AiryBi[\[Xi]2]-(-b1)^(1/3) AiryAi[\[Xi]2] AiryBiPrime[\[Xi]1])/(AiryAi[\[Xi]2] AiryBi[\[Xi]1]-AiryAi[\[Xi]1] AiryBi[\[Xi]2])
 
d=Denominator[z]
 
z1=z/.Part[d,1]->q-Part[d,2]
 
z2=Apart[z1]/.q->Part[d,1]+Part[d,2]
 
Part[z2,1]+Together[Part[z2,2]+Part[z2,3]]

Всего записей: 247 | Зарегистр. 19-03-2004 | Отправлено: 17:56 18-04-2012
r_green



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrew10
 

Код:
 
expr = (I Sqrt[a1] AiryAi[\[Xi]2] AiryBi[\[Xi]1] -  
     I Sqrt[a1] AiryAi[\[Xi]1] AiryBi[\[Xi]2] + (-b1)^(1/
         3) AiryAiPrime[\[Xi]1] AiryBi[\[Xi]2] - (-b1)^(1/
         3) AiryAi[\[Xi]2] AiryBiPrime[\[Xi]1])/(AiryAi[\[Xi]2] \
AiryBi[\[Xi]1] - AiryAi[\[Xi]1] AiryBi[\[Xi]2])
 
 
Collect[expr, (-b1)^(1/3), Simplify]
 


Всего записей: 145 | Зарегистр. 17-09-2004 | Отправлено: 23:53 18-04-2012 | Исправлено: r_green, 00:21 19-04-2012
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
r_green
qvbit
 
Спасибо за помощь!
 
Вариант r_green больше подходит из-за лаконичности.
Не знал про возможность третьего аргумента в Collect[], очень полезная.
 
Еще раз спасибо!

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 11:49 19-04-2012
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день всем!
 
Вот такой вопрос:
Есть система точек упорядоченных точек на оси действительных числе x(i), i=1,...,N и  случайно выбранное число z. Как наиболее эффективно в системе Mathematica найти интервал, которому принадлежит z, то есть такое i, что x(i) <=  z  <  x(i+1). Проблема в том, что эту операцию нужно делать многократно, а N достаточно велико.
В Фортране я для этого использую подпрограмму двоичного поиска.  Можно, конечно, написать ее аналог для Mathematica, но наверняка есть что-нибудь встроенное.
Спасибо!

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 11:35 25-04-2012
r_green



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrew10

Код:
 
points = {0, 2, 4, 8, 10 (* x(i) *) }; nf = Nearest[points -> Automatic];
enclosingInterval[z_] := Module[{np = nf[z][[1]]}, points[[Interval[{np, np + If[points[[np]] > z, -1, 1]}][[1]]]]]
 

При изменении массива points нужно повторно вычислять nf.

Всего записей: 145 | Зарегистр. 17-09-2004 | Отправлено: 14:08 25-04-2012 | Исправлено: r_green, 16:21 25-04-2012
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
r_green
Спасибо! Функция Nearest именно то, что нужно. Правда мне более удобно для дальнейших вычисления использовать не границы интервала, а его порядковый номер, но это уже мелочи.  

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 23:13 25-04-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Программы » Wolfram Mathematica | Математика


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru