MATLAB: как сгенерировать таблицу синуса
Написал microsin   
11.06.2009

Процесс по шагам на примере MatLab Version 6.5.0.180913a Release 13.

1. File -> New -> M-file. Окроется новое окно редактора кода программы MatLab.

2. Копипастим туда код:
function GenerateSinusTable (size)
% Генерирует таблицу синуса в файле sinus.c
% Пример вызова:
% GenerateSinusTable(256)
stream_c   = fopen('sinus.c'  ,'wt');
fprintf (stream_c  , '__flash char SINUS_ML [%i] = \n{\n', size);
for k=0:size-1
 if (0==bitand(k, 7))
  fprintf(stream_c  , '    ');
    end;
    sinus = round(127 + 124*sin(2*pi*k/size));
 fprintf(stream_c  , '%i', sinus);
 if (not((k+1)==size))
  fprintf(stream_c  , ',');
    end;
 if (7==bitand(k, 7))
  fprintf(stream_c  , '\n');
    end;
end

fprintf (stream_c, '};\n');
fclose(stream_c);
% Построим теперь график полученной таблицы
x=0:1:size; y=round(127 + 124*sin(2*pi*x/size)); plot (x,y)

3. Сохраняем наш файл кода под именем GenerateSinusTable.m (важно, чтобы имя файла совпадало с именем функции), запускаем на выполнение в консоли MatLab:
>> GenerateSinusTable(128) [жмем Enter]

После запуска появится окошко с графикой периода синусоиды, и в текущей папке появится сгенерированный файл sinus.c.

Последнее обновление ( 22.06.2009 )