Помощь - Поиск - Пользователи - Календарь
Полная версия: МATLAB
Форум KAZANHOME > Технологии > Все о программировании
Ap}{@HrE/l
Люди а есть по нему обучалки есть??
BAD
Цитата(Ap}{@HrE/l @ 9.11.2006, 9:40) *

Люди а есть по нему обучалки есть??

К сожалению у меня нет :(
daniil
Цитата(Ap}{@HrE/l @ 9.11.2006, 9:40) *

Люди а есть по нему обучалки есть??

Есть книги и очень даже неплохие IMHO. Если тебя интересуют алгоритмы вычислительной математики (численные методы), то, что надо - книга Джон Г. Мэтьюз, Куртис Д. Финк "Численные методы, использование MATLB"! Там куча исходников m.-файлов. Переписывай и запускай, красота :D. Если интересует теория граффов, матстатистика, вариационное исчисление (минимизация функционалов, метод Ритца - особо!) и символьные вычисления (Symbolic toolbox), то пригодится книга Иглина С.П. "Вот с названием проблемка - прости, - забыл, да ну, что-то про матлаб..." Если интересует самое начало то смотри "Google"-ом, сайт, с кучей материалов того - же Иглина Exponenta.ru (был, по крайней мере не так давно, когда я там тусовался). А вообще материала в сети по матлабу хватает ;). Это хорошо... Уравнения в частных производных решаются так называемым "PDE-toolbox"-ом, для которого есть графический интерфейс пользователя, даже команды не надо пальцами тыкать! MATLAB - довольно прост. Хорошая тема. B)
Ap}{@HrE/l
Цитата(daniil @ 20.12.2006, 20:53) *

Есть книги и очень даже неплохие IMHO. Если тебя интересуют алгоритмы вычислительной математики (численные методы), то, что надо - книга Джон Г. Мэтьюз, Куртис Д. Финк "Численные методы, использование MATLB"! Там куча исходников m.-файлов. Переписывай и запускай, красота :D. Если интересует теория граффов, матстатистика, вариационное исчисление (минимизация функционалов, метод Ритца - особо!) и символьные вычисления (Symbolic toolbox), то пригодится книга Иглина С.П. "Вот с названием проблемка - прости, - забыл, да ну, что-то про матлаб..." Если интересует самое начало то смотри "Google"-ом, сайт, с кучей материалов того - же Иглина Exponenta.ru (был, по крайней мере не так давно, когда я там тусовался). А вообще материала в сети по матлабу хватает ;). Это хорошо... Уравнения в частных производных решаются так называемым "PDE-toolbox"-ом, для которого есть графический интерфейс пользователя, даже команды не надо пальцами тыкать! MATLAB - довольно прост. Хорошая тема. B)

Спасибо друг обязательно гляну как будет время. В принцыпе численные методы мощная вещь но я пока с графикой решить вопрос хочу.
daniil
Незачто. Зайди на наш "великий" FTP, в раздел incomming -> BOOKS. Там есть (появился B) ) один мануал.
Ap}{@HrE/l
Цитата(daniil @ 20.12.2006, 23:12) *

Незачто. Зайди на наш "великий" FTP, в раздел incomming -> BOOKS. Там есть (появился B) ) один мануал.

То что надо. Будет что ещё отпишись я тоже незабуду если что. На кгушном сайте есть чтото надо порыскать найду залью.
ЛИМ
А чем Matlab отличается от Mathematici?

В чем приимущества? В чем недостатки?
Ap}{@HrE/l
Цитата(ЛИМ @ 29.12.2006, 17:17) *

А чем Matlab отличается от Mathematici?

В чем приимущества? В чем недостатки?

Незнаю уж чем он отличается от Mathematici но в принцыпе скачай книжку которую выложили выше посмотришь.
daniil
"Математика" - это "продвинутый" MathCAD, но с более "ущербным", чем у последнего интерфейсом. Пакет Mathematica не позиционируется, как матричная лаборатория (MATrix LABoratory). Работаешь с документом, как в MathCad, конечно, есть свои плюсы и минусы, но это такие тонкости, до которых никто не "досчитывал" свои научные труды. И Mathematica и MATLAB поддерживают программирование, так что можно написать что угодно. У матлаба есть отладчик .m-файлов, а в математике его, (очевидно, конечно) нету. Грубо говоря, MATLAB больше похож на компилятор, а "Математика" - на математический пакет. Хочешь мощно напрограммировать метода конечного элемента (МКЭ), тогда юзай MATLAB, в "Математике" особого понта и красивого кода - не жди. А если надо оформить работу, вставить текст, формулы и сохранить все это в формате TEX-а, как научную работу для серъёзной публикации, тогда можно, до определённых пор, пользоваться "Математикой".

И "Математика" и MATLAB могут считать математику.

Мануал по Mathematica 3.0 в наличии тоже.
ЛИМ
Цитата(daniil @ 29.12.2006, 21:59) *

"Математика" - это "продвинутый" MathCAD, но с более "ущербным", чем у последнего интерфейсом. Пакет Mathematica не позиционируется, как матричная лаборатория (MATrix LABoratory). Работаешь с документом, как в MathCad, конечно, есть свои плюсы и минусы, но это такие тонкости, до которых никто не "досчитывал" свои научные труды. И Mathematica и MATLAB поддерживают программирование, так что можно написать что угодно. У матлаба есть отладчик .m-файлов, а в математике его, (очевидно, конечно) нету. Грубо говоря, MATLAB больше похож на компилятор, а "Математика" - на математический пакет. Хочешь мощно напрограммировать метода конечного элемента (МКЭ), тогда юзай MATLAB, в "Математике" особого понта и красивого кода - не жди. А если надо оформить работу, вставить текст, формулы и сохранить все это в формате TEX-а, как научную работу для серъёзной публикации, тогда можно, до определённых пор, пользоваться "Математикой".

И "Математика" и MATLAB могут считать математику.

Мануал по Mathematica 3.0 в наличии тоже.

Спасибо..а как в формат ТЕХ переводить? первый раз такое слышу..я обычно в математике работаю
daniil
Цитата(ЛИМ @ 30.12.2006, 15:37) *

Спасибо..а как в формат ТЕХ переводить? первый раз такое слышу..я обычно в математике работаю


Вот ссылочка, внешка, конечно, но страница нетяжёлая. Если неохота, вот тогда рисунок на файлообмене (0f24be2b3b134ef634dbaa6cebaa882e). Посмотри ещё, наверно какие-то проги специальные есть.

Это четвертая "Математика". У меня есть мануал по математике (3.0), надо - могу слить. Просто сам чаще пользуюсь MATLAB, и крутого ничего посоветовать, наверно, не смогу, разве только с т.з. расчётов, численных методов.

А с TEX-ом вообще не связываюсь, ну его нафиг, сначала считать (в MATLAB), а потом ещё и разметку в TEX-е тыкать пальцами... Всё равно придется когда-нибудь, наверное smile3.gif
ЛИМ
ТЕХ тяжелая штука..а математикой 6.0 могу поделиться..А маткад может кто-нибудь залить?
daniil
Цитата(ЛИМ @ 30.12.2006, 18:56) *

ТЕХ тяжелая штука..а математикой 6.0 могу поделиться..А маткад может кто-нибудь залить?


Дык, зачем "Маткад", если "Математикой" пользоваться можешь? rolleyes.gif В нем никаких преимуществ, кроме интерфейса "что пишу, то и считается". Ну, еще - формулы можно написать, и распечатать... Вообще где-то на ФТП я его видел, но стоит ли качать, здоровый он, а халява - кончилась кажись? :huh: Может, ты имеешь ввиду MATLAB? Тогда он есть у меня (на самый, однако, новый smile3.gif), посмотрю, что можно сделать, если нужен. Пишите. Кстати по приведенной ссылке есть ещё и Maple, не знаю, ставится или нет, но это хороший пакет символьных вычислений, по сути запихан и в MATLAB в неизменном виде.
ЛИМ
Цитата(daniil @ 4.1.2007, 18:58) *

Дык, зачем "Маткад", если "Математикой" пользоваться можешь? rolleyes.gif В нем никаких преимуществ, кроме интерфейса "что пишу, то и считается". Ну, еще - формулы можно написать, и распечатать... Вообще где-то на ФТП я его видел, но стоит ли качать, здоровый он, а халява - кончилась кажись? :huh: Может, ты имеешь ввиду MATLAB? Тогда он есть у меня (на самый, однако, новый smile3.gif), посмотрю, что можно сделать, если нужен. Пишите. Кстати по приведенной ссылке есть ещё и Maple, не знаю, ставится или нет, но это хороший пакет символьных вычислений, по сути запихан и в MATLAB в неизменном виде.

Мне просто нужно что-нибудь в что распечатывать легко..а то математику и тех не все принтеры берут..бегаешь как дурак с курсовой вечно ища где распечатать
Ap}{@HrE/l
Цитата(ЛИМ @ 4.1.2007, 19:24) *

Мне просто нужно что-нибудь в что распечатывать легко..а то математику и тех не все принтеры берут..бегаешь как дурак с курсовой вечно ища где распечатать

В матлабе все работы это обычный тхт такчто с распечаткой проблем нет. А ты где учишься что математика так нужна?
ЛИМ
Цитата(Ap}{@HrE/l @ 4.1.2007, 21:00) *

В матлабе все работы это обычный тхт такчто с распечаткой проблем нет. А ты где учишься что математика так нужна?

На мехмате учусь..может слышал о таком..
daniil
Цитата(ЛИМ @ 4.1.2007, 19:24) *

Мне просто нужно что-нибудь в что распечатывать легко..а то математику и тех не все принтеры берут..бегаешь как дурак с курсовой вечно ища где распечатать


Многие TEX-редакторы позволяют "скомпилить" исходники (разметку) ТЕХ-а в ".pdf" - файл, но и он на принтере глюкануть может, есть такая опция при распечатке pdf, которая говорит принтеру "печатать текст, как рисунок", тогда и pdf со всеми формулами и русскими шрифтами распечатается по-человечески. Однако, это всё равно - возня, как ни крути. "А LA GUERRE COMME А LA GUERRE" smile3.gif математику печатают редко и с этим часто - проблемы, в какой бы программе я не работал, приходится выкручиваться. Все проблемы решатся, если приобрести простенький принтер, но на это надо деньги :( Есть ещё "выход" - пользоваться MathEditor-ом который входит в Microsoft Office (XP), но по умолчанию не ставится, надо доустанавливать его. Жуткая штука - этот редактор формул от Мелкомягких tease.gif , мне просто на нервы действует smile3.gif но распечатывать можно где хочешь (если там где печатаешь MathEditor не стоит, то просто нет возможности редактирования), но может быть я и ошибаюсь blink.gif.

Во всяком случае, MathCAD, если не установлен на компе, где принтер, - разумеется, тоже печататься не будет. :(

Бегать с "непечатающимися" формулами, я думаю, придётся по-любому, если печатаешь не у себя. И потом, при публикации чего-либо (статьи там какой-нибудь в сборник "Туполевских чтнеий") в типографиях требуют тексты именно в TEX-е! И в КГУ, кстати - тоже :( Вот мода такая на TEX. smile3.gif
daniil
Цитата(ЛИМ @ 5.1.2007, 11:34) *

На мехмате учусь..может слышал о таком..


Слышал, слышал ... B)
ЛИМ
За консультацию про ТЕХ огромное пасибо..нас очень часто заставляют в нем работать..теперь меньше мароки будет с распечаткой
daniil
Кстати, если уж о ТЕХ-е речь идёт, то у меня мануал есть с программами. Хорошая комплектация, кому надо будет - спрашивайте, может не самое новое, но зато рабочее, smile3.gif Это, имхо - главное. (солью на ФТП)

А я вот что спросить хочу: кто что считал? (в математических пакетах) Прочностью и методом конечного элемента никто не занимается? Мне б инфу найти по программированию двух-трёхмерных задач сам, конечно - пишу прграмму, но чувствую велосипед изобретаю местами (сетки, таблицы инциденции...) smile3.gif. Нет, конечно и новое тоже есть, но хочется жизнь как-то упростить чтоль... Мануалов - полно, но дико теоретических, по которым ничего не напишешь :(.
Что толку с кучи формул, без простых примеров и программной реализации? Дело то в том, что КЭ комплексы то есть (ANSYS, NASTRAN, Cosmos Works наконец, хотя последний расчётным комплексом не считаю, смех один :lol: ), правда не наши,- американские (канадские, англицкие), умные люди все уже давно запрограммировали.

В MATLAB есть набор фнукций для решения задач (в виде ДУ и в функциональной постановке с интегралом) методом конечного элемента, например, построение сетки, решение системы (и формирование её). Но использовать эти функции приходится вслепую, так не пойдёт... Да и мне просто интересно, что на "мехмате" и вообще, в КГУ, считать заставляют мат. пакетами? (слышал, "мехмат" - тяжелый факультет :huh: )

// PS Насчет решения МКЭ ДУ в ЧП с пом. MATLAB-а, - просто песня с его "PDETool-box"-ом good.gif.
ЛИМ
Цитата(daniil @ 6.1.2007, 19:51) *

Да и мне просто интересно, что на "мехмате" и вообще, в КГУ, считать заставляют мат. пакетами? (слышал, "мехмат" - тяжелый факультет :huh: )

Ну факультет тыжелый очень..но терпим..в ТЕХе курсовые обычно заставляют набирать..в математике всякое приходится делать..в основном не себе а другим
ЛИМ
Цитата(daniil @ 6.1.2007, 22:48) *

У нас в универе MATLAB и Maple с "Математикой" - удел крайне грамотных (по нашим "расплывчатым" smile3.gif меркам). И "на поток" не поставлен, nea.gif .
Лим, а что тот Маткад 13, с фтп, не устанавливал?

Не устанавливала..математикой обошлась..мне просто сопромат где-то надо было нарисовать на то время..теперь уже все сделано
daniil
blink.gif Sorry ( -лa )...

А вот такой вопрос: не программируют у вас NURBS-кривые на ВычМате?? Я до кривых Безье добрался, а до "нарбсов" так и нет :( Мне б хоть в MathCAD или в "Математике" документ (исходничек) нарыть.

Вобще, у меня гора исходников к численным методам (обработка данных, интегрирование, дифференцирование, решение СЛАУ, ДУ) и функций MATLAB-овских из разных книжек, алгоритмы то общие, хоть где работай, хоть на чем программируй, могу выложить на файлообмен... C алгоритмами графики - вот проблема, не делал просто никогда и не разбирался (только в Open GL, но это уже не матлаб)...
ЛИМ
Цитата(daniil @ 7.1.2007, 20:39) *

blink.gif Sorry ( -лa )...

А вот такой вопрос: не программируют у вас NURBS-кривые на ВычМате?? Я до кривых Безье добрался, а до "нарбсов" так и нет :( Мне б хоть в MathCAD или в "Математике" документ (исходничек) нарыть.

Вобще, у меня гора исходников к численным методам (обработка данных, интегрирование, дифференцирование, решение СЛАУ, ДУ) и функций MATLAB-овских из разных книжек, алгоритмы то общие, хоть где работай, хоть на чем программируй, могу выложить на файлообмен... C алгоритмами графики - вот проблема, не делал просто никогда и не разбирался (только в Open GL, но это уже не матлаб)...

таким не занималась..
А вот исходники это хорошо
Ap}{@HrE/l
NURBS кривые это по контрольным точкам насколько я понимаю изменение положения одной из которых меняет форму кривой. Это основано на Сплайме как я понимаю. Так?
Astynax84
NURBS - линия ит начальной точки до конечной. А на протяжении своем меняется в зависимости от положения точек. Сами точки не принадлежат линии и могут иметь разную "массу" - более "тяжелые" точки сильнее "притягивают" кривую.
daniil
Цитата(Ap}{@HrE/l @ 8.1.2007, 18:55) *

NURBS кривые это по контрольным точкам насколько я понимаю изменение положения одной из которых меняет форму кривой. Это основано на Сплайме как я понимаю. Так?


Вот прикол NURBS - как раз в том, что при редактировании положения контрольных точек эффект имеет локальный характер, в отличии кривой Безье и куб. сплайнов. Из-за этого в Maya и 3DSMax для моделирования пользуются неоднородными рациональными базисными сплайнами (NonUniform Rational B-Splines), чтобы при редактировании какой-то одной контрольной точки твоей модели она вся не "поплыла". Понимаешь, о чем я? Для построения кубического сплайна на плоскости надо решать СЛАУ, так? Чтобы коэффициенты кусков-полиномов найти то (по четыре для каждого кусочка)? Вот, если потом взять, и один узел сместить, систему надо решать заново и получать другой сплайн :(. А для NURBS - нет. При этом то, что последняя по природе не проходит через заданные точки при построении - ерунда, а не проблема B) , можно сделать алгоритм таким, что она "как-бы будет проходить" smile3.gif Это трудно объяснить парой строк на форуме, но теория описана у Кунву Ли ("Основы САПР") Осталось только запрограммировать, но руки не доходят, вот и спрашиваю у умных людей, может кто делал smile3.gif Хотя бы на самом простом уровне,- дальше разовью идею сам... Да ладно в принципе, щас сессия начинаеца, не до "нарбсов" фсеравно.

rolleyes.gif Кароче, я - Лентяй (с большой буквы). :D
daniil
Цитата(ЛИМ @ 7.1.2007, 17:29) *

Не устанавливала..математикой обошлась..мне просто сопромат где-то надо было нарисовать на то время..теперь уже все сделано


Я его таки сам установил, ничё нового в плане интерфейса, такой же страшненький MathCAD, как и шесть лет назад был 2000i smile3.gif Изменени в начинке и функциональных возможностях, в новых фичерсах, кстати, заявлено конвертирование в .pdf ... до сих пор ищу :(
Astynax84
И че все пытаются считать в МатЛабе, как в калькуляторе?

Предназначение МатЛаба: обрамотка матричных данных любой природы. Например входного сигнала звуковухи, или фотографии, или набора координат точек на карте и т.д. и т.п.

Ну и соответственно - все операции с матрицами. Там даже одно число - это матрица 1х1.
daniil
Цитата(Astynax84 @ 9.1.2007, 17:17) *

И че все пытаются считать в МатЛабе, как в калькуляторе?

Предназначение МатЛаба: обрамотка матричных данных любой природы. Например входного сигнала звуковухи, или фотографии, или набора координат точек на карте и т.д. и т.п.

Ну и соответственно - все операции с матрицами. Там даже одно число - это матрица 1х1.


smile3.gif Просто в матлабе куча удобных функций (крайнюю простоту и неприхотливость синтаксиса не буду обсуждать, это очевидно!), например, для символьных вычислений (все, что есть в Maple, ну плюс-минус пара пунктов) можно символьно, а не численно, решать ОДУ, и получать в итоге не "гору циферок", а функции и даже в матричном виде. Можно применяя PDEToolbox решать ДУЧП очень красиво и наглядно, для MATLAB есть много дополнений (toolbox-ов) сделанных сторонними разработчиками, например GraphTheory-toolbox Иглина С.П. с помощью которого решаются задачи теории граффов. Учитывая то, что MATLAB позволяет наделять Toolbox-ы GUI-интерфейсом, как же такое может не нравиться! Функцию MATLAB можно сформировать в Фортране, перекомпилить в Си, слов нет, читабельного листинга не получится, но функция тогда может быть вставлена в программу на нормальном языке программирования для коммерческого использования, с 13-го релиза MATLAB из M-файла можно сделать "COM-component" B) . Другие математические пакеты - это другие пакеты, у них и функции другие. Simulink - куча возможностей моделирования процессов. Кроме Sygnal Processing Toolbox (обраобтка сигналов), Image Processing Toobox, и Mapping-а, есть сплайны, вейвлеты, математическая статистика... И всё это с учетом того, что у меня древняя, 6.5-я версия пакета smile3.gif
daniil
Вот реализация метода Галеркина (.TXT) для решения ОДУ, конечно не самое важное применение мощного проекционного метода вариационного исчисления (и, позвольте, MATLAB-а - тоже), но тем не менее... (по книге Вержбицкого "Численные методы: мат. анализ и ОДУ" (М. ВШ 381 с.) параграф 10.5) Чтобы посмотреть, как работает, можно только скопировать содержимое текстового файла в область командной строки и нажать "Ентер" и можно сравнить график с тем, что приведён в книге на рисунке 10.3.

Видали такое? Это - реализация совершенно непригодного ( blink.gif ...э-э, ну ладно, - малопригодного smile3.gif smile3.gif) к машинным расчетам метода Галёркина, кто на сях написать рискнёт nea.gif , тому - медаль (запариться можно). А в MATLAB - не так уж и много кода. Такой вот "калькулятор". Зачем? Это - по учебе, а в науке и технике - разработка матриц жесткости новых конечных элементов, совершенствование алгоритмов формирования глобольных матриц жесткости для сложных, композитных элементов, элементов с трещинами. КЭ-постановка задач гидродинамики, всё то, для чего нет пока отработанных чисто численных процедур и функций.
Astynax84
Я же не говорю об том, что МЛ плох smile3.gif Наоборот! Очень нравится он мне! Ещё Мапл уважаю!

Но не использовать же его как простой калькулятор! Тут лучше всё-таки МатКадом - опять же в Ворду вставлять проще.
Ap}{@HrE/l
Могу ещё сказать что в MATLAB довольно просто моделировать физические процессы и неплохо их графически реализовывать , а про удобнейший дебагер так я вообще молчу.
daniil
Цитата(Astynax84 @ 9.1.2007, 21:18) *

Я же не говорю об том, что МЛ плох smile3.gif Наоборот! Очень нравится он мне! Ещё Мапл уважаю!

Но не использовать же его как простой калькулятор! Тут лучше всё-таки МатКадом - опять же в Ворду вставлять проще.


Согласен. drinks.gif

Цитата(Ap}{@HrE/l @ 9.1.2007, 21:24) *

Могу ещё сказать что в MATLAB довольно просто моделировать физические процессы и неплохо их графически реализовывать , а про удобнейший дебагер так я вообще молчу.


Отладчик красивый и самое главное - простой (один мой друган его называет только "жалким подобием дебагера" :lol: ). Тока я не пойму зачем до кучи не сделали норамльную трассировку действий в окне команд, вот циклы и ветвления можно в командной строке реализовывать, а отлаживать - нет, абидно, приходится иногда из-за пары-тройки команд вложенного цикла m-файл делать, может в более новых версиях сделали, просто я не знаю...
Ap}{@HrE/l
Цитата(daniil @ 9.1.2007, 21:34) *

Отладчик красивый и самое главное - простой (один мой друган его называет только "жалким подобием дебагера" :lol: ). Тока я не пойму зачем до кучи не сделали норамльную трассировку действий в окне команд, вот циклы и ветвления можно в командной строке реализовывать, а отлаживать - нет, абидно, приходится иногда из-за пары-тройки команд вложенного цикла m-файл делать, может в более новых версиях сделали, просто я не знаю...

По сути окно команд нужно только для предварительных расчётов и вызовов а если ты хочешь проект сдавать то его полюбому в м файл надо делать я бы вообще окно команд до минимума упростил, но там наверное люди поумней меня сидят поэтому молчу.
daniil
Окно комманд часто используется разными тулбоксами для единоразовых комманд, ну как cmd-shell операционки smile3.gif тока для Матлаба, или как коммандный интерфейс ANSYS, или скрипты 3DSMax (MaxScript) с Maya (MEL)... А самое простое,- график нарисовала какая-то функция, надо его оставить, и нарисовать другой - используется команда ">>hold;", её конечно можно тожа в файл отработавшей функции прописать, но она там надо (всегда ж работать буит blink.gif )?

А минус окна комманд (для 6.5 -той версии MATLAB !) то, что оно неинформативно отражает мои программерские лаги, приходится иногда долго голову лАмать. Тот метод Галёркина - не m-файл, неспроста,- я не знал, насколько корректно обрабатываются автоматически (программно из CMD-shell-а) сформированные команды, если их запихать в m-файл, глюки были, но я так ничего и не понял :( . И в итоге сделал прогу так вот. (есть такой малость мудреный способ, формировать длинную командную строку программно, я щас - об этом, типа чтобы пальцами не тыкать и не ошибаться)

Наверно в следующих версиях что-то придумали, просто я не один пользователь, которому не ндравится это положение вещей, вот найду как-нить самую новую версию, постараюсь заинсталлить и посмотрю, что они сделали. А так, чего гадать...
Ap}{@HrE/l
Слушай daniil а ты где учишься что такие программы юзаешь? Мне впринцыпе на моём псевдоматематическом факультете ВМК (хотя математики хватает по горло еле сессию переживаю) это ненужно.
daniil
Цитата(Ap}{@HrE/l @ 10.1.2007, 1:27) *

Слушай daniil а ты где учишься что такие программы юзаешь? Мне впринцыпе на моём псевдоматематическом факультете ВМК (хотя математики хватает по горло еле сессию переживаю) это ненужно.


В КАИ, а юзаю матем. пакеты из-за научной работы (МКЭ), по идее, я - технарь (самолетостроение) smile3.gif и юзаю кроме матлаба ещё кучу всего (ANSYS, NASTRAN, CAD-системы, 3D-пакеты). А к MATLAB присмотрелся, когда курсовые делал на первых курсах, да и на последних тоже. Если надо делать больше двух математических операций, которые похожи, уже лучше прогу замутить smile3.gif Приходилось не только себе считать одно и то же вот и изучил математические пакеты, не все, и не особо подробно, но хватает.

Хотя, программировал много (ерунды правда :D ) и на других языках, C++ нравится, на Паскале с Дельфи чего-то делал, уже не помню... асм - слишком круто, и дальше изучения архитектуры ЭВМ и написания (в Emu 8086) лоадера операционки для 8086-го я так и не продвинулся...

Так получается, что MATLAB для программирования мне больше других ЯВУ подходит.
daniil
Вот, выложил на файолобмен статью "toolboxes.pdf" (1.5 метра, 30 дней (214ffbfdabaf5c538c58c08615270c1f)). Там куча описаний приложений MATLAB (тулбоксов), не мануал, конечно, но просто посмотреть интересно, что в MATLAB делать можно.
Photon
Добрый день.
Знает ли кто-нибудь, как правильно использовать логическую индексацию? Такая проблема:
Хочу выбрать из массива элементы следующим способом:

Index = (A(:,1) == arExample(1)) | (A(:,1) == arExample(2)) | (A(:,1) == arExample(3));
arNew(:,1) = A(Index,2);

Смысл такой:
Есть массив А, из которого хочу выбрать элементы по некоторому правилу и засунуть их в новый массив arNew. Правила описываются в Index (так называемая логическая индексация). Приведенный пример рабочий, проблема в том, что я хочу автоматизировать это правило для любого числа элементов в arExample. В примере приведен случай только для трех элементов в arExample. В общем случае их может быть сколько угодно. Размер можно будет потом определять через функцию size.

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

Может кто-то знает решение данной проблемы?
daniil
Цитата(Photon @ 3.8.2011, 16:58) *

Добрый день.
Знает ли кто-нибудь, как правильно использовать логическую индексацию? Такая проблема:
Хочу выбрать из массива элементы следующим способом:

Index = (A(:,1) == arExample(1)) | (A(:,1) == arExample(2)) | (A(:,1) == arExample(3));
arNew(:,1) = A(Index,2);
...
Правила описываются в Index (так называемая логическая индексация).


Приветствую.

Логическая индексация в MATLAB - это матрица из нулей и единиц, подставленная в качестве операнда-индекса при выборке элемента из массива. Здесь есть пример, в котором используется матрица D(4x4). Берётся исходная матрица С, и по матрице D, как по трафарету, производится выборка элементов из C в виде C(D). В твоём посту в принципе, результатом выражения является матрица, называемая логической, т.к. она содержит нули и единицы. Все реляционные операции в MATLAB (== , > , <), как и выполненные над обычными матрицами логической операции, в результате, выдают логические матрицы. У логической матрицы есть размерность, она может быть 1x1 но не обязана. Это я к тому, что выражение A(Index,2) мне не понятно. Но в случае косяка, по-любому, должно вылезать что-то типа "matrix dimensions must agree". Кроме того, если взять обычную матрицу и запихать её в качестве операнда бинарной логической операции, то получится логическая матрица, что очень гибко и ожидаемо. Минус всей красоты только в том, что размерность логической матрицы должна совпадать с размерностью матрицы из которой происходит выборка. Если матрицы большие, то будут проблемы.

Работать с циклами лучше с точки зрения экономии памяти.
Photon
Спасибо за ответ. Пример посмотрел. Но у меня проблема как раз в составлении этого самого трафарета. В примере по ссылке описывается случай простого условия, т.е. когда сравнение идет с одним значением (равно NaN). А у меня условие составное:
Код
Index = (A(:,1) == arExample(1)) | (A(:,1) == arExample(2)) | (A(:,1) == arExample(3));

Как должно быть составлено это выражение, чтобы работало и для случая двух, трех, четырех и т.д. элементов массива arExample?
Запись:
Код
Index = (A(:,1) == arExample);

не работает.
Цитата(daniil @ 11.8.2011, 20:23) *

Работать с циклами лучше с точки зрения экономии памяти.

Но все же для ускорения расчета лучше циклы не использовать. Ты согласен с этим?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.