ode_weight.m

来自「matlab从入门到精通第6章书后源码对初学者很有帮助」· M 代码 · 共 26 行

M
26
字号
% ode_weight.m
% 求解加权函数微分方程组
m1=0.1;m2=0.1;L=1;g=9.81;
% 微分方程的参数
tspan=linspace(0,4,25);
y0=[0;4;2;20;-pi/2;2];
options=odeset('Mass',@mass);
% 求解加权函数微分方程组
[t,y]=ode45(@massode,tspan,y0,options,m1,m2,L,g);
theta=y(1,5);X=y(1,1);Y=y(1,3);
xvals=[X X+L*cos(theta)];
yvals=[Y Y+L*sin(theta)];
% 绘制变量的图形(绘制起点到终点的向量)
plot(xvals,yvals,xvals(1),yvals(1),'ro',xvals(2),yvals(2),'b.');
hold on;
for j=2:length(t)
    theta=y(j,5);
    X=y(j,1);
    Y=y(j,3);
    xvals=[X X+L*cos(theta)];
    yvals=[Y Y+L*sin(theta)];
    plot(xvals,yvals,xvals(1),yvals(1),'ro',xvals(2),yvals(2),'b.');
end
grid on;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?