Главная arrow Администрирование arrow Разное arrow Работа с Matlab Version 6.5.0.180913a Release 13 Friday, May 26 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

Работа с Matlab Version 6.5.0.180913a Release 13 Версия для печати
Написал microsin   
05.05.2007

Недавно я открыл для себя 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);

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

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017