Октава вместо bc
2016-08-29 13:19Обычно я для мелких вычислений пользовался калькулятором bc. Командная строка всегда под рукой: сложить пару чисел или процент прикинуть. Но теперь всё больше переключаюсь на Octave. Двадцать первый век на дворе, всё-таки. У неё и оконный интерфейс есть, хотя он мне без надобности. А вот вектора, матрицы и комплексные числа иногда полезно иметь.

Простой алиас в шелле и подсвеченное приглашение превращают Октаву в удобную замену bc:

Простой алиас в шелле и подсвеченное приглашение превращают Октаву в удобную замену bc:
$ alias octave='/usr/bin/octave -q'
$ cat .octaverc
PS1('\[\e[0;32m\]\#>>\[\e[m\] ')

no subject
Date: 2016-08-29 20:42 (UTC)no subject
Date: 2016-08-29 20:57 (UTC)no subject
Date: 2016-08-29 21:25 (UTC)splot sin(sqrt(x**2+y**2))/sqrt(x**2+y**2)
no subject
Date: 2016-08-29 21:46 (UTC)no subject
Date: 2016-08-29 22:04 (UTC)Да и то не превращают. Введи 2^100 - увидишь разницу.
no subject
Date: 2016-08-30 01:23 (UTC)no subject
Date: 2016-08-29 22:40 (UTC)ну а российские пользователи не испытывают [финансовых] проблем с матлабом, который покруче октава то будет :)
кстати, зачем в октаве сделали несовместимый с матлабом синтаксис... да это не вопрос, а "тому, кто это придумал, надо гвоздь в голову забить"
no subject
Date: 2016-08-30 01:26 (UTC)Матлаб больно тяжеловесный для вычислений из командной строки.
А скриптовый язык Октавы не особо нужен, для этого есть Питон.
no subject
Date: 2016-08-31 12:01 (UTC)а про питон - я его (IDLE) в интерактивном режиме использую даже как терминал (через pyserial), со всякими rs-232 железками
ну и под виндой (увы мне, увы) с pytonwin для управления всякими activeX или как оно там сейчас называется - чем питон и хорош, что можно в детали не вникать - все уже все есть :)
no subject
Date: 2016-08-30 04:58 (UTC)no subject
Date: 2016-08-30 05:42 (UTC)no subject
Date: 2016-08-30 06:26 (UTC)если я не напортачил, то fftw3 сам дохнет. а тут интересно как?
no subject
Date: 2016-08-30 06:27 (UTC)no subject
Date: 2016-08-30 06:31 (UTC)no subject
Date: 2016-08-30 15:34 (UTC)тут вся ссуть эксперимента -- не будет ли мусор на выходе ну и сколько ресурсов будет потреблено.
no subject
Date: 2016-08-30 06:35 (UTC)printf("%f\n", sin(i*314159.26/60M));
как-нибудь так.
no subject
Date: 2016-08-30 20:33 (UTC)Вот такой скрипт:
#! /usr/bin/octave -qf n = 2^27; step = 2.0 / n; t = 0:step:2-step; printf("Creating 1:%d data vector...\n", columns(t)); x = 2*sin(20*pi*t) + sin(100*pi*t); printf("Computing Fourier transform...\n"); t0 = time(); y = fft(x); t1 = time(); printf("Done.\n"); printf("Time: %d seconds\n", t1 - t0); printf("Memory footprint: %d kbytes\n", getrusage().maxrss);no subject
Date: 2016-08-30 20:38 (UTC)а fftw3 отработать-то отработал, но такую хрень выдал наружу...
через одну частоты нулевый, максимальная частота -- нулевая и все в таком духе. может конечно и я чего намудрил.
no subject
Date: 2016-08-30 20:56 (UTC)Результат похож на правду.
no subject
Date: 2016-08-30 21:00 (UTC)no subject
Date: 2016-08-30 10:04 (UTC)no subject
Date: 2016-08-30 10:59 (UTC)no subject
Date: 2016-08-30 15:34 (UTC)no subject
Date: 2016-08-30 16:31 (UTC)no subject
Date: 2016-08-30 16:57 (UTC)no subject
Date: 2016-08-30 21:03 (UTC)Особенно для вычислений с неограниченной точностью.