📄 ode1.m
字号:
function dx=ode1(t,x) %主函数
global m n a b c d1 d2;
% m=5;%“鱼”的数量
% n=2;%维度-平面
% a=1;
% b=20;
% c=0.2;
% d1=0.1;
% d2=1;
dx=zeros((m+1)*n,1);%产生微分函数矩阵,整个微分函数放到一列。
%zeros是产生一个全部为零的矩阵,这里是12*1的矩阵,意思是首先全部清零
for i=1:m %循环开始
for j=1:n %第i个鱼的第j维坐标
for k=1:m
g=zeros(n,1);%产生零矩阵,先清零
g=x(1+(i-1)*n : n+(i-1)*n)- x(1+(k-1)*n : n+(k-1)*n); %产生向量的差,xi与xk的差。
dx(j+(i-1)*n)=dx(j+(i-1)*n)+(x(j+(i-1)*n)-x(j+(k-1)*n))*(-a+b*exp(-(g'*g)/c));%产生"鱼"的运动方程中g
end
dx(j+(i-1)*n)=dx(j+(i-1)*n)+d1*(x(j+(i-1)*n)-x(j+m*n)); %产生"鱼"的运动方程f ,后面的一项就是老师给的f1
dx(j+m*n)=dx(j+m*n)-d2*(x(j+m*n)-x(j+(i-1)*n))-10; %敌人的运动方程 ,此即为f2
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -