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

» Mathematica (математика)

Автор: r_green
Дата сообщения: 30.11.2012 18:12
popkov
У меня UTF-8 почему-то не работал.
---
Проверил ещё раз - точно, UTF-8 работает.

Видимо, проблемы с автоматическим определением кодировки.
Автор: popkov
Дата сообщения: 30.11.2012 18:24
r_green
Цитата:
Видимо, проблемы с автоматическим определением кодировки.

$SystemCharacterEncoding возвращает WindowsCyrillic, а эта кодировка дает кракозябры.

Кстати, вот альтернативный метод, не требующий изменения глобальных параметров:

[no]Export["test.pdf",
Style["кириллический текст", CharacterEncoding -> "UTF8"]][/no]


Вообще, Style можно и нужно использовать для локального изменения глобальных параметров!
Автор: BookWarrior
Дата сообщения: 01.12.2012 09:25
r_green

Цитата:
скриншот с этой ошибкой


при этом Math Kernel отдельно запускается на ура. Т.е. именно интерфейс грохнулся. Видимо где-то надо опции в реестре что ли поправить, чтобы она отлипла.

UPD: в реестре ничего вообще нет, только регистрация компонент. Видимо М всё в себе держит. Значит какие-то файлы надо удалять видимо..

popkov

Цитата:
Export["test.pdf", Style["кириллический текст", CharacterEncoding -> "UTF8"]]

отличная находка: я искал когда-то опцию где-нибудь, но видимо не докопал. Работает на 8ке тоже. Т.е. начиная с 8ки оно уже функционально, но с оговоркой, что кириллица рендерится в векторную графику, шрифтов в файле потом уже нет.
Автор: r_green
Дата сообщения: 01.12.2012 13:15
BookWarrior
Попробуйте запустить Mathematica из другой учетной записи пользователя (user account) на том же компе (при необходимости создайте такую учётку). Если сработает, значит нужно удалить Application Settings Математики в профиле пользователя.
Автор: BookWarrior
Дата сообщения: 01.12.2012 15:14
r_green

Цитата:
запустить Mathematica из другой учетной записи

вы как всегда молодец! я даже не подумал о такой простой вещи, хотя реестр весь и для других юзеров прочесал. Видимо мотивации не хватило. Я континуально впечатляюсь Apple-вской простотой и удобством вашего подхода, у меня как-то random walk получается чаще, бывает совсем очевидное даже не приходит в голову (в эту вот, что мне выдали). Спасибо!

Всё починилось после удаления ...Application Data/Mathematica!

Теперь о грустном =)
- после запуска М9, версия 7 стала при запуске сразу выбрасывать сообщения математики:

Цитата:
The specified setting for the option Current3DTool cannot be used.
The specified setting for the option Default3DTool cannot be used.

С М8 всё нормально.

Ещё одна общая черта всех математик, установленных на один комп, это что флажок splash-screen (показывать при след. запуске) опять выставляется у всех остальных версий М, если запустить какую-нибудь. Т.е. видимо перезаписывается общий init.m или что-то вроде этого. Не есть проблема, но как эффект существует.
Автор: r_green
Дата сообщения: 01.12.2012 18:47
BookWarrior

Цитата:
после запуска М9, версия 7 стала при запуске сразу выбрасывать сообщения математики:


Попробуйте запускать 7 и 9 версию под разными учётками. Этим вы исключите перекрытие "профильных" данных разных версий Математики.
Под WinXP: right click по ярлыку -> Run as...
Под Win7: Shift+ right click -> Run as different user...

Но вначале нужно почистить данные Математики под обеими учётками, т.к. они, видимо, уже испорчены.

Автор: popkov
Дата сообщения: 01.12.2012 21:59
BookWarrior

Цитата:
- после запуска М9, версия 7 стала при запуске сразу выбрасывать сообщения математики:

В 9-ке выполните

[no]SetOptions[$FrontEnd, "VersionedPreferences" -> True];[/no]

затем перезапустите Mathematica. Должно помочь.
Автор: volmike1
Дата сообщения: 01.12.2012 22:33
Пришло письмо с патчем, исправляющим баг , связанный со шрифтами при установке M9 на комп, где уже установлена M8 и приводящий к BSODу:
http://support.wolfram.com/kb/11160
Автор: BookWarrior
Дата сообщения: 02.12.2012 08:07
popkov
volmike1
о! щас по ходу все глюки пропали, даже то, что версия 7 выдавала сообщения какие-то при запуске, после запуска других версий М. Это после патча и SetOptions для splash-screen.
Автор: Andrew10
Дата сообщения: 04.12.2012 07:26
Добрый день всем!

Вопрос к установившим 9-ую версию: имеет ли смысл немедленно переходить на нее, или стоит подождать обновлений, исправляющих баги?
Имеются ввиду потенциальный выигрыш в скорости, новые возможности, исправление старых ошибок.
Поделитесь, если не сложно, своими наблюдениями.

Спасибо!
Автор: BookWarrior
Дата сообщения: 04.12.2012 09:54
Andrew10

Цитата:
имеет ли смысл немедленно переходить на нее, или стоит подождать обновлений, исправляющих баги?

если вам конкретно из неё добавки не нужны в непосредственной работе, то и переходить не надо. Я вообще 7-кой пользуюсь, хотя 8 и 9 установлены. На другом компе ещё 5 и 6 стоЯт. Я держу старые только из-за того, что часть скриптов была написана на них, и я хочу видеть в точности тот же выхлоп, нежели вариации. У них были изменения, вроде как к функциям вывода графики наконец приделали правильную ";", которая выключает вывод. А было по-другому. Получается, когда запускаешься скрипт на новой версии - графиков тупо нет. Такие приколы надоедают, если их много. На 7ке чисто исторически большинство скриптов оказалось, поэтому я держу именно её и буду держать до упора. А что нужно будет на новом функционале нарисовать, то буду делать отдельно и обычно я проставляю либо в файле, либо в названии файла, для какой версии Математики он сделан, чтобы сразу видеть.

В 8ке и 9-ке есть совершенно новые очень серьёзные вещи, но как можно сказать, нужны они вам или нет? Например появились такие вещи, как целый пакет по работе со стохастическими дифурами, которые любому мозг съедят, если пешком его делать с карандашиком наперевес. Но в плане базового языка изменения незаметны. Если бы вы определили тематику и уровень, который вы собираетесь использовать, можно было бы сказать, надо или нет. Скорее всего нет, потому что иначе вы бы сами знали точный ответ.

У М9 интерфейс потяжелее, но можно поотключать многое. Да у них у всех интерфейс тяжелее от версии к версии. Но в М9 появились подсказки, как в матлабе, которые подсказывают дальше название набираемой функции, опции и т.п., что математика уже знает, даже имена существующих переменных (ваших тоже). Но мне лично это как собаке пятая нога, потому что в отличие от МАТЛАБ, где это действительно удобно из-за очень большой иерархичности объектов, что нифига не запомнишь, в Математике во-первых в помощь можно быстро взглянуть, а во-вторых 2 секунды набрать <функция>//Options и получить весь список. Так что эта интерфейсная фишка хоть и нова, но совсем не нужна.

Ну и последнее: на последних версиях софта никогда не надо работать, если от этого зависит работа или вы серьёзно этим занимаетесь. Можно поставить, но ни в коем случае не заменить предыдущие версии. Замучаетесь потом, всегда грабли вылезают.
Автор: Andrew10
Дата сообщения: 05.12.2012 10:29
BookWarrior
Спасибо за комментарий!


Цитата:
Ну и последнее: на последних версиях софта никогда не надо работать, если от этого зависит работа или вы серьёзно этим занимаетесь. Можно поставить, но ни в коем случае не заменить предыдущие версии. Замучаетесь потом, всегда грабли вылезают.


Конечно это общие принципы, которых нужно придерживаться при переходе на новую версию любой программы.

Сейчас я пользую 8-ку, и, видимо, существенно нового из того, что мне необходимо в повседневной работе не прибавилось.
Интересны конкретные данные по следующим вопросам:
1. Быстродействие (снизилось или увеличилось).
2. Исправлены ли общеизвестные баги, вроде русского языка при импорте в pdf.
На последний вопрос уже ответили выше.
3. Принципиальное улучшение работы с системой. На это отдельные сведения есть в Вашем посте, но хотелось бы и комментарии других людей, установивших новую версию.

В целом для себя вывод: пока остаюсь на 8-ке, хотя 9-ую уже скачал
Автор: BookWarrior
Дата сообщения: 05.12.2012 10:48
Andrew10
1. не заметите, похоже, что то же самое. Если вам интересны какие-то команды, напишите, я сделаю тесты и покажу времена запуска. Но навскидку в уже имеющихся скриптах ощутимой разницы не наблюдаю.
2. язык мы обсудили до упора: как и в 8ке русский оказывается есть, но только преобразованный в полиномы, т.е. векторный, но это не буквы, выделить и искать по ним без OCR невозможно в полученном PDF. Если вам это так важно, можете сделать для всех доброе дело, ибо многим пригодится: долбите разрабов Математики, пока не сделают. Если они не видят активности, просто наплюют - никому русский не нужен, кроме русских. А русские не пишут никуда, потому что сидят на ворованных версиях. И действительно, когда обращаешься, до обсуждений они сначала требуют лицензию: для пакета, который у меня сбоИл, я обращался, потому что хотел, чтобы они его привели в порядок.
Автор: Andrew10
Дата сообщения: 05.12.2012 14:46
BookWarrior

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


Можно этим заняться, поскольку у меня есть официальная лицензия на 6-ую версию. Только одна загвоздка, я абсолютный нуль в языке, так что придется подключать аспирантов.
Автор: popkov
Дата сообщения: 05.12.2012 19:28
Andrew10

Цитата:
хотелось бы и комментарии других людей, установивших новую версию.
Для меня один из существенных моментов - исправление бага с импортом экспортированных трехмерных InterpolatingFunction (два аргумента) с нерегулярного набора исходных точек. Построение такой функции само по себе может занимать длительное время, если точек много. 8-ка не могла импортировать - ошибка присутствовала на уровне C++-кода. В версии 9.0.0 ошибка исправлена.
Автор: BookWarrior
Дата сообщения: 06.12.2012 06:47
Andrew10

Цитата:
Можно этим заняться

тогда добавлю вам мотивации: кириллические шрифты в сочетании с PDF - это геморрой во всех направлениях. Яркий тому пример - выпуски УФН, в которых вроде бы и шрифты, но если попытаться скопировать или поискать по ним - одни крючки. Так преобразуются шрифты в очень мощном пакете кириллических шрифтов для LaTeX, всё хорошо - кроме самих кодов: хоть и выделяются - но толку от этого как от козла молока. А других под латекс нет.

Получается, что:
1) из латекса сгенерить качественный электронный кириллический документ невозможно; для бумаги конечно будет идеально;
2) из Математики тоже проблема экспорта кириллицы, как шрифта (для чего люди экспортируют-то - всё для того же латекса);
3) единственный рабочий вариант - это документ писать в Ворде, оттуда сохранять, тогда всё работает как надо без дефектов. И EPS-импорт в дистрибутиве МС Офиса есть, правда я не тестировал до колик в животе, но в плане русских текстов всё идеально.

Получается, что якобы самая-самая издательская система трещит по всем щелям, в частности и из-за экспорта из таких продуктов, как Математика.

Понятно, что такая комбинация софта не всех касается, но уж нас всех - это абсолютно точно касается. Если закрыть вопрос с векторным экспортом Математики (частично он уже закрыт, и-то хорошо!), половина проблемы отпадёт, потому что тогда можно будет часть документов генерировать прямо из Математики: таблицы, графики например - это можно включать как фигуру на всю страницу прямов латекс-документ.
Автор: A_P_V
Дата сообщения: 16.01.2013 14:07
Подскажите, пожалуйста, как правильно выполнить импорт файла с данными.

Формат следующий: несколько строк заголовка (текстовые), потом идёт массив чисел. Хотелось бы, что бы пропускать строки заголовка, далее получить двумерный массив с заданного столбца и строки до конца файла.


Добавлено:

Цитата:
Получается, что:
1) из латекса сгенерить качественный электронный кириллический документ невозможно; для бумаги конечно будет идеально;


У меня из Латех вполне нормальные pdf получаются - поиск работает нормально.
Автор: BookWarrior
Дата сообщения: 07.03.2013 14:25

Цитата:
1) из латекса сгенерить качественный электронный кириллический документ невозможно
с тех пор много воды утекло, узнал, как можно использовать любые шрифты в LaTeX, примеры и обсуждение конкретно шрифтовых вопросов тут: http://genofond.org/viewtopic.php?p=34225#p34225

A_P_V

Цитата:
У меня из Латех вполне нормальные pdf получаются - поиск работает нормально.
когда я первый раз эту проблему изучал, ещё многого не было в латексе, это лет 8 назад. С тех пор закрепилось устойчивое ощущение, что бесполезно биться головой о стенку. Так оно и было, пока в указанной ветке мне не показали, как это делать в идеальном для меня виде. Перевёл весь проект полностью на юникод, включая математику - там всё отображается верно.
Автор: A_P_V
Дата сообщения: 08.03.2013 18:25

Цитата:
с тех пор много воды утекло, узнал, как можно использовать любые шрифты в LaTeX, примеры и обсуждение конкретно шрифтовых вопросов тут: http://genofond.org/viewtopic.php?p=34225#p34225

спасибо, интересная тема. Сам не специалист, разбираюсь по мере необходимости.
Пользуюь Latex примерно с 2008, но мне повезло, сразу дали работающий пример. Но согласен, нормальных примеров в интернете не очень много, потом приходилось искать и компилировать информацию из разных источников.
Автор: TomasVercetti
Дата сообщения: 12.05.2013 12:06
Доброго времени суток -)

Хотел бы узнать, что форумчане думают по такому вот вопросу. В общем виде: хочу сделать, чтобы интегрирование осуществлялось на видеокарте, но чтобы в конкретную реализацию этого можно было отправлять функцию, набранную (и загруженную) в Mathematica! По сути, без разницы, будет ли это внешней программой или библиотекой или код будет в Mathematica, будет ли функция передаваться по ссылке или подстановка будет синтаксической. Можно ли в общем виде реализовать такое в Mathematica?

То есть, чтобы в конечном итоге можно было использовать обычный синтаксис M.:
f[x_]:=x^2; // На самом деле — большая и страшная мат. функция
SIMDIntegrate[f[x_], {x, 0, 10}]; // Функция, которая, собственно, будет интегрировать
Автор: terminat0r
Дата сообщения: 12.05.2013 22:41
TomasVercetti
http://reference.wolfram.com/mathematica/CUDALink/tutorial/Programming.html
Автор: TomasVercetti
Дата сообщения: 13.05.2013 17:56
terminat0r,
Спасибо. Как я понял, ещё можно интегрируемую функцию записать в виде c-блоков.
Автор: Alex_B
Дата сообщения: 16.05.2013 03:26
Открыл Default.nb. Читаю


Цитата:
Modify the definitions below to change the default appearance of all cells in a given style.
Make modifications to any definition using commands in the Format menu.


Однако Mathematica 9 не дает в нем ничего изменить. Файл ведет себя как открытый только для чтения. Скопировал файл в свою папку. Результат тот же. Что за притча такая?
Автор: Andrew10
Дата сообщения: 16.05.2013 14:39
Alex_B

Цитата:
Однако Mathematica 9 не дает в нем ничего изменить. Файл ведет себя как открытый только для чтения. Скопировал файл в свою папку. Результат тот же. Что за притча такая?


Посмотри в свойствах ячейки, установлен ли атрибут "Editable". Для этого нужно выделить ячейку и выбрать Cell -> Cell Properties
Автор: Alex_B
Дата сообщения: 16.05.2013 15:08
Andrew10
Конечно, я смотрел. Конечно, я устанавливал Editable. У вас-то редактируется?
Автор: Andrew10
Дата сообщения: 16.05.2013 16:57
Alex_B

Цитата:
Конечно, я смотрел. Конечно, я устанавливал Editable. У вас-то редактируется?


1. Не пробовал, и попробовать до завтра не получится
2. У меня 8-я версия, так что не факт, что в ней будет также, как в 9-ке.
Автор: popkov
Дата сообщения: 17.05.2013 09:08
Alex_B
Цитата:
Однако Mathematica 9 не дает в нем ничего изменить. Файл ведет себя как открытый только для чтения. Скопировал файл в свою папку. Результат тот же. Что за притча такая?

Надо нажать Ctrl+Shift+O, в окне Options Inspector выбрать в списке Show option values редактируемый файл ("Default.nb"), в следующем выпадающем списке "As text", и затем вставить в текстовое поле ниже строки:

Код: Editable->True,
Saveable->True,
Автор: Alex_B
Дата сообщения: 17.05.2013 11:42
popkov
Здорово, что у вас получилось.
Однако у меня (Mathematica 9.0.1) возникает ошибка:


Цитата:
The specified setting for the option PrivateNotebookOptions cannot be used.

Это когда я нажимаю Apply.

Пробовал с файлом из установленной папки и с копией файла в своей папке.

FrontEndVersion->"9.0 for Microsoft Windows (64-bit) (January 25, 2013)",

Добавил
Получилось! Проигнорировал сообщение об ошибке и отредактировал настройки.
Спасибо.
Автор: Andrew10
Дата сообщения: 18.06.2013 22:12
Добрый день всем!

Возникла такая проблема:
Есть разреженная матрица, нужно соорудить разреженную матрицу вдвое большего порядка, у которой исходная матрица была бы в правом верхнем углу.
Простой пример:

(*Матрица A-единичная матрица порядка 4*)
A = SparseArray[{i_, i_} -> 1, {4, 4}];
(*Матрица B-разреженная матрица порядка 8,у которой подматрица 4x4 в верхнем левом углу-единичная*)
B = SparseArray[{i_, j_} /; 1 <= i <= 4 && 5 <= j <= 8 ->
A[[i, j - 4]], {8, 8}];
B // MatrixForm

Пример работает и создает матрицу B нужного вида, но при этом выдает сообщение красным:

Part::pspec: Part specification i is neither a machine-sized integer nor a list of machine-sized integers. >>

Может кто подскажет, что бы это значило, и как избавиться от этого сообщения?
А может есть более элегантный способ решения задачи?
Спасибо!
Автор: popkov
Дата сообщения: 19.06.2013 05:33
Andrew10
Цитата:
что бы это значило, и как избавиться от этого сообщения?
SparseArray не имеет Hold*-атрибута, поэтому его аргументы выполняются перед выполнением самого SparseArray. Это означает, что
Код: A[[i, j - 4]]

Страницы: 12345678910111213141516171819202122232425262728293031323334

Предыдущая тема: Идея несуществующей программы...


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