Я не могу понять, почему программа ругается и как это исправить.
Вот код .m файла
function y = Snegovik(t, x1, x2)
global m1 k1 B k2 u m2 w
y = zeros(4,1);
y(1) = y(2);
y(2) = (-k1 * (x1 - x2) -B * (y(2) - y(4))) / m1;
y(3) = y(4);
y(4) = (u*sin(w*t)+k1*(x1-x2)+B*(y(2)-y(4))-k2*x2)/m2;
end
Вот консольные команды
>> global m1 k1 B k2 u m2 w
>> m1 = 1500;
>> m2 = 100;
>> k1 = 200;
>> k2 = 300;
>> B = 0.3;
>> u = 150;
>> w = 2*pi;
>> [t, X1, X2] = ode45('Snegovik', [0:0.01:50], [0, 0])
И в конце появляется такая ошибка:
Error using -
Matrix dimensions must agree.
Error in Snegovik (line 5)
y(2) = (-k1 * (x1 - x2) -B * (y(2) - y(4))) / m1;
Error in odearguments (line 90)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options,
varargin);