You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB绘制的曲线上添加方向箭头,Arrowhead等工具报错如何解决

实现方案(MATLAB原生函数,无第三方依赖)

你之前报错大概率是因为调用的Arrowhead、arrowPlot属于第三方工具包,没有正确安装或路径配置,用MATLAB自带的quiver函数即可实现轨迹方向箭头效果,可直接运行的完整代码如下:

a1 = 1.05;
b = 0.29;  
c = 0.3;
d= 0.31;

L1= 0.002;
L2= 0.008;
L3=0.0075;
L4 =0.006;

M1 = 0.0023;
N1 = 0.0035;
P1 = 0.003;

eta = [60 30 30 30];
F = @(t,y) [
    a1*y(1) - L1*y(1)*y(1) - L2*y(1)*y(2) - L3*y(1)*y(3) - L4*y(1)*y(4);
    -b*y(2) + M1*y(2)*y(1);
    -c*y(3) + N1*y(3)*y(1);
    -d*y(4) + P1*y(4)*y(1)];
[t,y] = ode45(F,(0: (300/1000000): 300), eta);

% 生成轨迹坐标
x = y(:,1);
y_total = y(:,2)+y(:,3)+y(:,4);

% 绘制基础轨迹线
plot(x,y_total, 'LineWidth',2,'Color','#0072BD')
hold on

% 间隔采样添加箭头,调整step数值可控制箭头密度
step = 5000;
idx = 1:step:length(x);
for i = 1:length(idx)-1
    dx = x(idx(i+1)) - x(idx(i));
    dy = y_total(idx(i+1)) - y_total(idx(i));
    % 绘制箭头,调整0.02/MaxHeadSize参数可修改箭头大小
    quiver(x(idx(i)),y_total(idx(i)),dx,dy,0.02,...
        'Color','#0072BD','LineWidth',1.5,'MaxHeadSize',2)
end
hold off
xlabel('y_1')
ylabel('y_2+y_3+y_4')

参数调整说明:

  • step:采样间隔,数值越小箭头显示越密集,反之越稀疏
  • quiver函数中的最后一个缩放系数(上述代码为0.02):控制箭头整体尺寸
  • MaxHeadSize:仅控制箭头头部的大小

内容的提问来源于stack exchange,提问作者MathMath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:57:02