Zy_guido 2021-05-28 20:21 采纳率: 0%
浏览 160

MATLAB中while循环的离散值画图,下角标该怎么用呀

求求大佬看看这个代码哪里错误了

VA=0.15;

VB=0.1;

A=[0,6];

B=[2*pi,0];

d=norm(B-A);

AX(1)=0;

AY(1)=6;

BX(1)=2*pi;

BY(1)=0;

t=0.01;

k=1;

while d>10^(-4)

    k=k+1;

    AX(k)=AX(k-1)+VA*t*(BX(k-1)-AX(k-1))/d;

    AY(k)=AY(k-1)+VA*t*(BY(k-1)-AY(k-1))/d;

    BX(k)=BX(k-1)-VB*t*abs(cos(atan(cos(BX(k-1)))));

    BY(k)=sin(BX(k));

    A=[AX(k),AY(k)];

    B=[BX(k),BY(k)];

    d=norm(B-A)

    D(k)=d;

end

plot(AX,AX,'ro',BX,BY,'b*')

hold on 

x=linspace(0,0.1,50);

plot(x,D)

  • 写回答

1条回答 默认 最新

  • 王富贵112358 2023-07-10 10:41
    关注
    
    VA = 0.15;
    VB = 0.1;
    A = [0, 6];
    B = [2*pi, 0];
    d = norm(B-A);
    AX(1) = 0;
    AY(1) = 6;
    BX(1) = 2*pi;
    BY(1) = 0;
    t = 0.01;
    k = 1;
    
    while d > 10^(-4)
        k = k + 1;
        AX(k) = AX(k-1) + VA*t*(BX(k-1)-AX(k-1))/d;
        AY(k) = AY(k-1) + VA*t*(BY(k-1)-AY(k-1))/d;
        BX(k) = BX(k-1) - VB*t*abs(cos(atan(cos(BX(k-1)*pi/180))));
        BY(k) = sin(BX(k));
        A = [AX(k), AY(k)];
        B = [BX(k), BY(k)];
        d = norm(B-A);
        D(k) = d;
    end
    
    plot(AX, AY, 'ro', BX, BY, 'b*')
    hold on 
    x = linspace(0, 0.1, 50);
    plot(x, D)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64