matlab 画波特图

  1. 由于我不想用matlab的bode()函数,所以就想自己写一下简单的bode()函数;
  2. 碰到的第一个问题是:十倍频程的横坐标怎么形成?我查了一下发现有一个函数是logspace(),它的说明是这样的。
    y = logspace(a,b,n)
    generates n points between decades 10^a and 10^b.
  3. 我试了一下n=logspace(0,4,5);
    结果n=[1 10 100 1000 10000],因此横坐标可以做到十倍频程了,指定n可以把十倍频程的密度变大。

  4. 代码是


% 
%          1         
% H(s) = -------
%         1+s
%
f=logspace(-2,2,1e5);
w=2*pi*f;
Theta=atan(-w)./pi*180

你可能感兴趣的:(matlab)