Работа с Matlab Version 6.5.0.180913a Release 13 |
![]() |
Добавил(а) microsin |
Недавно я открыл для себя Matlab. Оказалось, что это продвинутая (и вместе с тем совсем несложная для освоения) система, которая позволяет генерировать и анализировать данные, строить по ним графики. Все это я делал раньше с помощью написания программ на Visual Studio, а теперь с помощью Matlab все стало намного проще. Matlab основана на консоли, в которую вводятся простые арифметические команды и операторы. Многие операторы по синтаксису совпадают с языком C. Консольные команды можно копировать в буфер обмена, сохранять в текстовые файлы. Кроме того, в файл *.mat можно сохранить всю рабочую среду Matlab - сохраняются как введенные в консоли команды, так и полученные при этом данные. Дальше приведено несколько простых примеров - как пользоваться Matlab для построения графиков и получения таблиц функций. В массиве x - входные данные для функции, в массиве y - выходные. 1. Экспонента (для затухающих колебаний). Вводим в консоли и жмем Enter: x=0:1:65535; y=round(255*exp(-0.00006*x)); plot(x,y) 2. Синус для полпериода, у меняется от 0 до 127 и снова к 0. Вводим в консоли и жмем Enter: x=0:1:127; y=round(127*sin(pi*x/127)); plot(x,y) 3. Как выводить данные в файл: stream = fopen('my_first_matlab_output.txt','wt'); fprintf(stream,'Hello world!'); fclose(stream); 4. Вывод таблицы синуса в виде C-файла: size = 128 x=0:1:(size-1); y=round((size-1)*sin(pi*x/(size-1))); plot(x,y) stream = fopen('sinus.c','wt'); fprintf (stream, 'const char SINUS [%i] = \n{\n', size); for k=0:size-1 if (0==bitand(k, 7)) fprintf(stream, ' '); end; sinus = round((size-1)*sin(pi*k/(size-1))); fprintf(stream, '%i', sinus); if (not((k+1)==size)) fprintf(stream, ','); end; if (7==bitand(k, 7)) fprintf(stream, '\n'); end; end fprintf (stream, '};\n'); fclose(stream);
|