Иллюстрированный самоучитель по MatLab

Волновые колебания мембраны

Принцип мультипликации легко распространить на существенно более сложные задачи анимации. В качестве иллюстрации можно рассмотреть системный пример vibes, демонстрирующий волнообразные колебания тонкой пластины – мембраны. Ниже представлен переработанный файл данного примера, в котором сокращены подробные комментарии на английском языке и введены только для пояснения комментарии на русском языке, их следует изъять при попытке запустить программу:

%Волновые колебания мембраны
%Переработка файла VIBES фирмы MathWorks. Inc.
if~exist('MovieGUIFlag'): figNumber=0; end;
hlpStr=...
[' Это пример анимации - наблюдение колебаний '
' трехмерной поверхности - мембраны. ']:
mvinit(figNumber.hlpStr):
% Загрузка данных функции
load vibesdat;
[n.n] = size(Ll):
nh = fix(n/2):.
x = (-nh:nh)/nh;
% Вычисление коэффициентов
clear с
for k = 1:12.
eval(['c(k) = L' num2str(k) '(24.13)73:'])
end;
% Установка графических параметров
axis([-11-11-11]); caxis(26.9*[-1.5 1]);
colormap(hot); hold on
% Генерация кадров мультипликации
delt = 0.1;
nf names =12:
M - moviein(nf names):
fon k - l:nf names,
% Коэффициенты
t = k*delt;
s = c.*sin(sqnt(1ambda)*t);
% Амплитуды
L = s(l)*Ll + s(2)*L2 + s(3)*L3 + s(4)*L4 +
s(5)*L5 + s(6)*L6 +.
S(7)*L7 + s(8)*l_8 + s(9)*L9 + s(10)*L10 +
s(ll)*Lll + s(12)*L12;
% Скорость мультипликации
s = s.* lambda;
V = s(l)*Ll + s(2)*L2 +'sC3)*L3 +
s(4)*L4 + s(5)*L5 + s(6)*L6 +...
s(7)*L7 + s(8)*L8 + s(9)*L9 + s(10)*L10 +
s(11)*L11 + s(12)*L12;
% График поверхности; цвет задается скоростью
V(l:nh.l:nh) = NaN*ones(nh,nh);
Cla
sunf(x.x.L.V);
axis off
% Создание кадров мультипликации
M(:.k) - mvfname(f1gNumben,nfnames): end: hold off
%=======================================
% Запись кадров мультипликации
mvstone(figNumben, M);

Этот пример дан с целью иллюстрации, и подробно эту программу мы описывать не будем. К сожалению, в представленном виде (с русскоязычными комментариями), данная программа MATLAB 6 неработоспособна. Чтобы она работала, эти комментарии должны быть убраны или заменены англоязычными. В этом случае проблем с запуском программы не будет.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.