Автор Тема: CAD системите и симулациите под линукс.  (Прочетена 13039 пъти)

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
п.п. Между другото има една ниша, в която положението не е толкова отчайващо. Това е проектирането на печатни платки. Там KiCAD е на световно ниво и успешно се конкурира с евтиния до средния клас програми като например Eagle. Но там работата е, че ЦЕРН налива кинти. До преди няколко години не беше така.

Да не събуждам стара тема, затова пускам нова.
Доста време не бях ги пробвал тези програми, но тези дни исталирах последната KiCAD, та да споделя. Нещата наистина са развили много и са професионални. Има библиотеки и документация. *.src.rpm пакета е огромен - 900Mb. :o Става за чертане на схеми по подобие на OrCAD и след това от схемата могът да се проектират многослойни платки. Има дори и 3д модел за изглед.
https://kicad-pcb.org/made-with-kicad/


Има и друга хубава новина за симулацията на електронни схеми. Особенно за аналоговите.
SPICE програми за симулация е имало още от времето на юниксите. Докато под уиндос имаше графичното PCspice (още от времето на дос-а), под линук съществува само конзолният енджин ngspice. Та сега вече има пълноценен графичен фронтенд Qucs-S (S-a означава spice съвместимост), който ползва и е съвместим spice моделите.
https://ra3xdh.github.io/


------
За Математически среди там е (почти) зле. Има пълноценен енджин но още няма инегрирана среда по подобие на Matcad, Maple.
Под линукс Octave пуснаха графичен режим, но той е само обвивка към конзолното оctavе - за да не чукаш наляво надясно. Не е интегрирана среда в която в един документ да се изобразяват и текста и формулите и резултатните графики.
Имам чувството, че нарочно не бързат (или им плащат), за да не подбият големите комерсиални програми.

-------
За Машинните и Архитектските програми нямам предства как е, но верятно там нещата са зле.


« Последна редакция: Jan 31, 2020, 15:49 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 6137
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #1 -: Jan 31, 2020, 21:03 »
Впрочем за математиката в последно време доста се говори, дали Python е по-добре да се ползва или Matlab. Второто може и да има итегрирана среда, обаче първото е безкрайно по-гъвкаво и по-лесно за научаване. Освен това може да се ползва Jupyter или Jypiterlab и няма проблем с графиките там. И можеш да ползваш каквото ти скимне - Mathplotlib, Seaborn, Bokeh, pygal ... Има и други. Да не говорим за експлозивното развитие на библиотеки като Pandas, NumPy, SciPy, разните за изкуствен интелект и machine learning в чието разработване се включват и най-големите компании. И е безплатен. Mathlab си е скъпичък софтуер.

Щом на сайта на Mathworks има страница за това, защо е по-добре да се ползва Mathlab, борбата е жестока
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #3 -: Feb 01, 2020, 11:36 »
Octave и Matlab са аналогични. Имам чувството, че нещата първо се разработват в свободното Octave а след това ги продават в Matlab.

Не ме разбирайте погрешно. Octave е чудесен и много мощен софтуер. Може да изобразява всякакви графики - например през Gnuplot. Но всяка графика е в отделен прозорец.
Обаче и липсва добро представяне на документа със стилове и 'цветничко' - по подобие както в либре офис можеш да си оформиш документа. Като това от mathcad
 https://commons.wikimedia.org/wiki/File:Top_right_Prime_screengrab.png#/media/File:Top_right_Prime_screengrab.png
В един документ са и коментарите/описанието и формулата и последващата графика. Ами този документ вече става са представяне и лесно се чете.
 
А в Octave трябва да пишеш постни кометари с % отпред от вида:
(Това не е работещ код, само натряскани произволно разни работи.)

% това сега е една формула за изчисляванене на една щуротия:
% ........
% ........

N = 4096;
W = hanning(N);

% get a slice from the input data
WIN_data = y(i:i+N-1);

% multiply the slice by Window function
WIN_data = WIN_data.*W';

% the spectrum is one row vector, symmetrical over N/2
F_win = fft(WIN_data, N);
....

Т.е. това повече прилича на код на програма (то си е такова) отколкото  презентационен документ.

Впрочем за математиката в последно време доста се говори, дали Python е по-добре да се ползва или Matlab.

Къде е границата? то всичко може да се представи и с език на програмиране, например C, но стремежът е да се избяга от програмирането. По скоро това (octave) е описателен, декларативен (така ли се казва???) език. Но даже и там има цикли и условни конструкции. :o Явно без това никък не може.
https://octave.org/doc/v4.2.1/The-for-Statement.html
https://octave.org/doc/v4.4.0/The-if-Statement.html
« Последна редакция: Feb 01, 2020, 11:57 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 6137
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #4 -: Feb 01, 2020, 13:09 »
Не можеш да минеш без програмиране. Имаш сурови данни и искаш да получиш резултат, според някакви правила. Не можеш да обработиш данните без цикъл, без да преминаваш през тях. Не можеш да пишеш навсякъде един и същ повтарящ се код, ще трябва да напишеш функция, защото иначе е пълна загуба на време. Не можеш без условни оператори, защото ще трябва да кажеш на софтуера, това съвпада ли на определени параметри, вписва ли се или пък не. И съответно, да предприемеш действия съобразно това. Което си е точно програмиране.
Защо обаче залагам на Python. Защото е език за програмиране с общо предназначение. И защото почти всички библиотеки за този език са свободни. Няма авторски права. Можеш да правиш с данните буквално, каквото си пожелаеш. Мошеш да ги изобразиш, както ти е удобно. Всъщност, още не съм попаднал на библиотека, която да не е свободна за ползване. В Python Package Index има над двеста хиляди пакета. Ако се напише в търсачката data processing излизат над десет хиляди пакета. За math над хиляда и триста. Ето защо залагам на език за програмиране, пред затворен софтуер. Защото всеки може да допринася. Защото всеки може да гради върху постигнатото на този преди него. Невероятно е, какво хората постигат, когато партнират помежду си свободно.

Но най-вече, защото е лесен за научаване, писане, четене. Всеки може да го ползва. Наистина. Пиша от време на време във хорума на Python и там има хора на по над шестдесет години, които тепърва решават да започват с нещо такова и им се отдава.


« Последна редакция: Feb 01, 2020, 13:11 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

remotexx

  • Напреднали
  • *****
  • Публикации: 3194
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #5 -: Feb 01, 2020, 18:23 »
E Octave не е ли свободен софтуер, при това е чиста математика... аз ако трябва да избирам между питона и него (напр. да си тренирам ИИ) определено бих избрал Октавата.. и както и повечето математици ще мина даже и без кодене.
Така че горното сравнение е в полза на Октавата (за мен)
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6137
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #6 -: Feb 02, 2020, 12:41 »
Есичко зависи от това, какъв е проекта.
Ако ще са сметки, тогава може би Octave ще е по-добре. Казвам може би, защото не зная какво представлява и заради това, не зная, какви са предимствата му. Това, че е отворен код, много ме радва. Обаче, когато се измисля нов алгоритъм, обикновено се реализира на езика, на който е най-разпространена технологията. Ако си говорим за machine learning това ще да е Python-a. Не зная, как би се справил Octave/Matlab, ako ти трябва нещо да правиш с nlp ( natural languge processing ) например. Или нещо подобно. С нещо, което не е математика. Ма истината е, че нямам никакви познания за Matlab/Octave, за да мога наистина да направя сравнение.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #7 -: Feb 02, 2020, 13:56 »
Цитат
Обаче, когато се измисля нов алгоритъм, обикновено се реализира на езика, на който е най-разпространена технологията.

Точно това, че преди да се реализира като крайна програма написана например на C, пинтоня и т.д. трябва първо да се изтества алгоритъма и математиката. A това е най-добре да се направи с някоя мат. среда. Да се види при какви данни какво се получава, да се визуализира, как да се използват терорията и формулите. За мен тези мат. среди са по-скоро като 'Proof of concept'.
Това не е 'език' за получаване на крайна програма....макар, че и такива опити има. ???

Цитат
Не зная, как би се справил Octave/Matlab, ako ти трябва нещо да правиш с nlp ( natural languge processing ) например.
Сто процента има статистически библотеки, като разните му там модели на Марков и скритите модели на Марков. Хич не я вдявам статистиката и вероятностите :'(, но няколко пъти съм се сблъсквал....та научих, че тези ги ползват много. Особенно за ИИ и машинният превод на естествените езици.

Но ако например правиш машинният превод на естествени езици това с мат. среда няма да стане. Няма да стане и с някое програмче....Трябват много серииозни и големи проекти.
« Последна редакция: Feb 02, 2020, 14:30 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 6137
    • Профил
Re: CAD системите и симулациите под линукс.
« Отговор #8 -: Feb 02, 2020, 23:25 »
Ами има такива проекти и резултатите са много добри. Дори вече докарват синтезираната реч да звучи, като все едно илзиза от сутата на човек. Чак е страшно.

https://www.youtube.com/watch?v=0ybLCfVeFL4
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.