次のmatlab関数を作成しました
function [t x] = MSD(xo, z, fo, c)
T = 1/fo; t = 0:T/10:10*T; fd = fo * sqrt(1-z*z);
wo = 2*pi*fo; w1 = wo * z; wd = 2*pi * fd;
x = xo * exp(-w1*t) .* cos(wd*t);
grid on;
plot(t,x,c);
xlabel('time [s]');
ylabel('displacement');
s = sprintf('unforced Mass-Spring Damper [damped freq: %.3f Hz]', fd); title(s);
end
実行すると、コマンド ウィンドウに次のエラーが表示されます。
MSD(.1, .7,.4, .2)
??? Error using ==> plot
Data must be a single matrix Y or a list of pairs X,Y
Error in ==> MSD at 13
plot(t,x,c);