绘制惠斯通电桥电路的输出电压

问题描述 投票:1回答:1

为什么我的绘图从原点到主要曲线都有所有这些线?我正在绘制惠斯通电桥电路的输出电压,上下线代表电阻容差引起的差异。

MATLAB Plot]这是我的代码:

A=13.5;
R1=40;
R2=40;
R3=40;
R4=40;
Vref=5;
Vout1=zeros(size(0:0.01:0.25));
Vout2=zeros(size(0:0.01:0.25));
Vout3=zeros(size(0:0.01:0.25));
avector=zeros(size(0:0.01:0.25));
n=0;
for a=0:0.01:0.35
    n=n+1;
    avector(1,n)=a;
    Vout1(1,n)=(A*a*Vref)/(4*(1+a/2));
    Vout2(1,n)=(A*Vref)*(((1.01*R1)/(1.01*R1+0.99*R2))-((0.99*R3)/(0.99*R3+(1+a)*1.01*R4)));
    Vout3(1,n)=(A*Vref)*(((0.99*R1)/(0.99*R1+1.01*R2))-((1.01*R3)/(1.01*R3+(1+a)*0.99*R4)));
    plot(avector,Vout1)
    hold on
    plot(avector,Vout2)
    hold on
    plot(avector,Vout3)
end
matlab plot matlab-figure
1个回答
1
投票

您应该在循环的末尾添加hold off行以重置轴属性,否则MATLAB会尝试连接从Vout1的起点到Vout1,Vout2和Vout3的每个点的所有内容

A=13.5;
R1=40;
R2=40;
R3=40;
R4=40;
Vref=5;
Vout1=zeros(size(0:0.01:0.25));
Vout2=zeros(size(0:0.01:0.25));
Vout3=zeros(size(0:0.01:0.25));
avector=zeros(size(0:0.01:0.25));
n=0;
for a=0:0.01:0.35
    n=n+1;
    avector(1,n)=a;
    Vout1(1,n)=(A*a*Vref)/(4*(1+a/2));
    Vout2(1,n)=(A*Vref)*(((1.01*R1)/(1.01*R1+0.99*R2))-((0.99*R3)/(0.99*R3+(1+a)*1.01*R4)));
    Vout3(1,n)=(A*Vref)*(((0.99*R1)/(0.99*R1+1.01*R2))-((1.01*R3)/(1.01*R3+(1+a)*0.99*R4)));
    plot(avector,Vout1)
    hold on
    plot(avector,Vout2)
    hold on
    plot(avector,Vout3)
    # add this line
    hold off
end

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.