Matlab交互式画图-示例

说明:
利用matlab中的input来交互进行数据的输入

%%Malab 代码

%% 交互界面画图`
clear all; clf
f = input('frequency in Hz>>')    %输入频率
A = input('amplitude(>0) >>')     %输入幅值
theta = input('phase in degree >>')    %输入初相
omega = 2*pi*f;
tmax = 1/f;
time = [];
n = 0;
figure(1)
for t = 0:tmax/36:tmax
    z = A*exp(j*(omega*t + theta*pi/180));   %产生特定频率,特定幅值,特定初相位的信号
    x = real(z);
    y = imag(z);
    time = [time t];

    subplot(131)
    compass(x,y)  %画出实部和虚部
    axis('square')

    subplot(132)
    plot(n*tmax/36,x,'*r') %画出实部
    axis('square')
    axis([0 tmax -1.1*A 1.1*A]);grid 
    hold on

   subplot(133)
    plot(n*tmax/36,y,'*r')  %画出虚部
    axis('square')
    axis([0 tmax -1.1*A 1.1*A]);grid 
    hold on
    if n==0
        pause(1)  %第一个点停留1s
    else
        pause(0.1) %其他点停留0.1s
    end
    n = n+1;
end
hold off

版权声明:本文为XiaTianDeFengfanfan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。