Hitest
  Nov 17 2017, 16:33
  
 
  Начнем с того, что я начал изучать Матлаб, и система понравилась.
Проблема в том, что математических знаний в моей голове осталось крайне мало.  Когда-то изучалась и дискретная математика, и ЦОС, и численные методы.  Но в голове только обрывки знаний.
Что, по вашему, в первую очередь надо изучить, чтобы НАЧАТЬ использовать потенциал Матлаб?  Учитывая, что и от вузовского мат.анализа остались лишь обрывки в памяти?
 
 
 
  petrov
  Nov 17 2017, 16:46
  
 
  Надо реальную работу. Абстрактное изучение - пустое.
 
 
 
 
  Цитата(petrov @ Nov 17 2017, 19:46) 

Надо реальную работу. Абстрактное изучение - пустое.
+1
 
 
 
 
  Hitest
  Nov 18 2017, 07:53
  
 
  Может быть и можно начать с задачи, но прочитайте ниже, НАСКОЛЬКО я всё забыл...  И задачу надо придумать.
Не  привык я так.   В далеком прошлом сначала детально изучал MS Visual C++ на искусственных примерах, а также сопутствующую информацию, включая монументальный всем известный труд создателя языка.  Времени у меня было - сколько захочу.  Затем напросился в фирму в области пром. автоматики, программировал большие части системы, наконец возглавил группу разработчиков.  Всё последовательно.  Но понимаю, что такое везение доступно мало кому.    Сейчас, спустя 15 лет работы снабженцем и электронщиком в одном лице, опять появилось много времени.  И Матлаб я изучаю для себя, а не работодателя.  Тоже важно.  Но математика... пострадала просто ужас как. 
Поскольку изучаю Матлаб по книге, там поэтапно рассматривается работа с математическими объектами.  Но я почти забыл, что такое интеграл, определитель матрицы, БПФ, фильтры...
 
 
 
 
  Вот вам задача - подобрать из ряда E192 (E96) два номинала с заданным (любым) точным отношением. К примеру, 1/2 или 1/4. Можно еще допуск отношения задать, если точное не находится.
 
 
 
  k155la3
  Nov 18 2017, 08:32
  
 
  в стиле "... мы же страна Советов" 

1. Создать 2 набора данных с зондирующим сигналом одной формы и разной амплитуды.
2. Выполнить "зашумливание" обоих наборов
3. Обработать корреляционной ф-ей и найти сигналы 
 
  
 
  Hitest
  Nov 20 2017, 11:31
  
 
  k155la3
Можете смеяться, но я не понимаю некоторых терминов, в которых Вы сформулировали задачу.  Вот в этом и проблема!  А термины Ваши из математики/ЦОС.
 
 
 
  k155la3
  Nov 21 2017, 14:55
  
 
  Цитата(Hitest @ Nov 20 2017, 14:31) 

Можете смеяться, но я не понимаю некоторых терминов, в которых Вы сформулировали задачу.  . . .
Задача измерить расстояние между излучателем и приемником.  ("приемник", допустим, может перемщаться ближе-дальше)
Сигнал - акустический. Среда, где идет "прострел" - сильно зашумлена. Очень сильно 

Форма сигнала, выдаваемая излучателем, определена и фиксирована. 
Считаем что тракт "идеальный", те. фазовых и частотных искажений сигнала на пути от излучателя к приемнику и внутри них нет.
Есть уменьшение амплитуды и наложение сигнала помех.
Задача найти максимально точно время между генерацией импульса передатчиком и его приемом.
Метод мат. обработки для выделения сигнала - корреляция.
 
 
 
 
  Hitest
  Nov 23 2017, 12:52
  
 
  Ой, сложную вещь Вы предлагаете для начинающего, забывшего даже школьный матанализ.  Но задача как ни странно не абстрактна, а имеет очень полезное применение.  Например, на сцене стоит певец перед микрофоном.  В нескольких метрах от него стоит направленный монитор, через который он должен хорошо слышать сам себя.  Окружающее пространство как правило очень зашумлено.  Я "в теме", сам занимался этим, и знаю, что расстояние 3-4 метра уже дает заметное на слух запаздывание фазы звука, это создает ощутимый дискомфорт.  Так, для общих сведений, скажу, что куда лучше стереопрострел двумя мониторами, которые стоят слева и справа, и не дальше чем в метре от ушей.
 
 
 
 
  Цитата(Hitest @ Nov 23 2017, 14:52) 

Ой, сложную вещь Вы предлагаете для начинающего, забывшего даже школьный матанализ.
Дорогу осилит идущий... Вспоминать всегда легче чем изначально учить. Найдите (придумайте) практическую задачу (как тут уже посоветовали) и за дело. Первое время мозг будет сопротивляться, но если есть мотивация, то вскоре удивитесь как оказывается ещё много чего осталось в памяти....   
 
  
 
 
  Hitest
  Nov 23 2017, 23:46
  
 
  Да, Вы правы.  И если изучаешь для себя лично, то мозг и сопротивляться не будет.  Сам убеждался в этом.  Но давайте пока остановимся, потому что решение задачи не начато, и серьезных вопросов естественно нет.
 
 
 
 
  Hitest, начнем с того, что Matlab сегодня - это далеко не только математика. Я, когда устраивался к своему текущему работодателю, когда увидел MATLAB в требованиях, накупил много книжек, а оказалось, что они используют его совсем не так, как описано. 
Обратите внимание - есть Matlab, а есть Simulink. Есть еще Stateflow, который в принципе часть Simulink, но может изучаться отдельно. Simulink - это не математика, а моделирование. Причем моделирование почти всего, чего угодно - в разрезе данного сайта, например, силовой и обыкновенной электроники, логических схем, ЦОС и прочего. Возможно Вам стоит обратить внимание на это? Если вы для себя раскроете потенциал Matlab в этом направлении - это будет тоже очень серьезно, так как, как правило, это сократит ваше время разработки. Еще будет серьезней, если вы освоите Model-based Design.
 
 
 
  Hitest
  Nov 28 2017, 14:05
  
 
  Да это понятно что моделирование ускоряет решение задачи.    Я бы не сделал за 15 лет ни одного электронного балласта промышленного качества, если бы вместо схем в Оркаде возился с дифференциальными уравнениями в "чисто" математической среде разработки.  И для моделирования подобной силовой электроники мне кажется больше ничего не нужно, и так возможностей сильно с избытком.  
Вспоминать математику я буду спокойно, вникая в суть, без институтского фанатизма типа насобачивания на перемножение матриц или БПФ на бумажке за ограниченное время.  Думаю не трогать дискретную математику, по причине ее применимости только к цифровым системам, и то только к некоторым.  В общем всем сразу заниматься не получится.  Если удастся изучать Симулинк параллельно, то было бы не плохо.
 
 
 
  AlexandrY
  Nov 28 2017, 14:42
  
 
  Цитата(Hitest @ Nov 28 2017, 16:05) 

Вспоминать математику я буду спокойно, вникая в суть, без институтского фанатизма типа насобачивания на перемножение матриц или БПФ на бумажке за ограниченное время.  Думаю не трогать дискретную математику, по причине ее применимости только к цифровым системам, и то только к некоторым.  В общем всем сразу заниматься не получится.  Если удастся изучать Симулинк параллельно, то было бы не плохо.
Лучше скажите вашу область интересов. 
А то если акустика или электродинамика, то Matlab может быть и не к месту. А надо пакеты моделирования типа Comsol изучать. 
Тут легко можно напороться на ситуацию, когда долго изучаете некие математические принципы оптимизации чего-то там, 
а они оказываются в результате устаревшими, а задача давно решается численно готовыми либами без всякого погружения в математику.
Я так напарывался на бесполезность изучения характеристических полиновмов в задачах управления.    
Есть тонны старых книг и не таких еще старых где преподаются устаревшие методы и технологии расчетов непригодные для практических разработок.
В теории автоматического управления это хорошо видно.   
 
 
 
 
  Hitest
  Nov 29 2017, 12:53
  
 
  Акустику трогать не будем.  Пусть ей занимаются те, у кого это уже получается.  Моя деятельность звукоинженера тоже не для этого форума.
Обратная связь в импульсных источниках питания.  ЦОС, исключительно в реализации на компьютере.  Программирование процессоров DSP не интересует.  Если, к примеру, реализация фильтра, то численными методами, а не моделью, которая "сама всё уже умеет".  Моделей мне пока в Оркаде хватает, не знаю насколько прав, но по-моему для электроники и электротехники самое то.
В конце-концов инструмент для "поиграться" с традиционными математическими объектами, готовый численный решатель.  
Ввод сигналов через звуковую карту и анализ таким способом, которым захочется.  Хоть вручную, хоть в Симулинке.  Задачи переноса модели на железку с микроконтроллером не стоит!
Цитата
Есть тонны старых книг и не таких еще старых где преподаются устаревшие методы и технологии расчетов непригодные для практических разработок.
В теории автоматического управления это хорошо видно.
Да уж, это так.  В вузе преподавали полгода, и на 99% это состояло из методов расчета на бумажке в советской реальности, где не было компьютеров.  В результате я ничего не понял, и до сих пор ставит в тупик типичная обратная связь на TL431.  Читаешь американскую книжку по импульсникам, а там предполагается, что теорию регулирования уже знаешь.  А где её узнать?  Поступать в топовый вуз что ли? 

  Вот и спасает в реальных разработках моделирование - если в Оркаде работает, то и в реальности обычно работает.  Модель всё "сама знает", но ни малейшего понимания не дает.  То же самое в LTSpice.     
Акустика.. Задача, придуманная k155la3, -определение расстояния между излучателем звука и приемником в зашумленной среде - не под силу для Матлаба?  Не в реальном времени с вводом-выводом звука конечно.
 
 
 
  AlexandrY
  Nov 29 2017, 14:52
  
 
  Цитата(Hitest @ Nov 29 2017, 14:53) 

То же самое в LTSpice.
LTSpice и вообще все Spice-ы не подходят для анализа импульсных источников поскольку не могут быстро расчитать частотную харакатеристику. 
Нужно применять движок SIMPLIS
Такой есть, например, у MPLAB Mindi
Matlab хорош когда в нем есть готовый алгоритм, но теоретические основы там практически отсутствуют. 
Поэтому начинайте с матричной алгебры.  Без нее вы не поймете как работают адаптивные фильтры Калмана и прочие. 
А без адаптивной фильтрации в названной вами задаче нечего делать.
 
 
 
 
  Hitest
  Nov 29 2017, 17:18
  
 
  AlexandrY, договорились

  Матлаб изначально и делался для матриц.  Без матриц ЦОС изучать не очень выйдет.  
Видно, что разбираетесь в математике.  И хорошо, что не отговариваете ей пользоваться 
 
  
 
 
  count_enable
  Jan 27 2018, 17:06
  
 
  ИМХО, есть два нужных направления усовершенствования навыков: математическая оптимизация (вместо цикла вставить матричную операцию, оптимизировать алгоритм для меньшего использования ОЗУ) и улучшение пользовательских качеств программы  - вместо голого куска кода с константами написать функцию, выводящую помощь, проверяющую входные аргументы, рисующую красивые графики с подписями или даже дающую графический пользовательский интерфейс. Обе вещи нужны для эффективной работы.
 
 
   
  Для просмотра полной версии этой страницы, пожалуйста, 
пройдите по ссылке.