MATLAB图形绘制--极坐标和对数图像

极坐标和对数图像

极坐标图像:

如果学过高等数学,里面的微积分你肯定不会陌生,里面的图像也更不会陌生,回想我们用手画出这些奇怪的图像的时候,其实可以使用MATLAB轻轻松松的画出来,首先我们来看看极坐标图像,它的参数有极径r和极角theta
作为第一个例子,我们绘制一个简单的曲线:阿基米德螺线
满足的关系式
其中a是一个常数。我们绘制a = 2和角度在0~2*pi之间的极坐标图像,第一个语句,我们定义常数:

a = 2;

接着我们定义函数r,这需要分两步完成,第一步我们把角度单独看成一个变量,定义它的区间长度,增量:

>> theta = [0:pi/90;2*pi];

接着我们写出函数:

>> r = a*theta;

接着我们画出图像:
极坐标系中的阿基米德螺线

第二个例子,假设我们绘制下面的极坐标图像:函数
这里的角度范围是0~6*pi,并用虚线绘制。
首先我们定义角度区间:

>> theta = [0:pi/90:6*pi];

输入函数:

>> r = 1 + 2*cos(theta);

我们告诉MATLAB用红色的虚点线来绘制:

>> polar(theta,r,'r-.')

图像:
红色虚点线绘制极坐标图像

对数图像:

现在我们来看看MATLAB如何绘制对数图像。这曾经让我头疼,如果你是电子工程师,你会发现这个特性非常有用,第一种我们能够使用的对数图像是log-log图像。我们用一个电子电路中一个非常经典的例子来看如何使用它,这个电路含有一个电压源,电容和电阻,由于很多读者不是电子工程师,所以我们不必讨论此公式的来源,我们的目的只有一个:如何得到对数图像
事实证明,如果输入电压满足正弦关系:
输入正弦
那么输出电压将会是另一个正弦函数:
输出正弦
其中响应频率,即是输出对输入的比率(放大倍数),他们存在下面的关系:
放大倍数
一般的,频率响应告诉我们在不同的频率下输出信号对输入信号的增强程度。我们可以用拉普拉斯变换,因此可以让

拉普拉斯变换
我们取w的范围在1~100之间,电阻R和电容C的的乘积RC的单位为秒。对于我们的例子,让RC = 0.25秒。下面这MATLAB中定义这些量:

>> RC = 0.25;
>>s = [1:100]*i;

注意在第二行中,我们把s定义为复数变量。频率响应是一个输出/输入与频率间的对数关系,所以我们定义:

定义响应
所以我们把函数传递给:

>> F = abs(1./(1+RC*s));

现在的所有条件都有了,同样的,plot的命令也可以在loglog中使用:

>> loglog(imag(s),F),grid on,xlabel('频率 (rad/s)'),ylabel('输出/输入比'),title('频率响应')

这就产生了非常漂亮的图像:
频率响应对数图像

使用对数图像的另一种情况:

使用log-log图像的另一种图像是当给定的函数在定义域的一个小范围内变换十分快的时候。
我们来看一个函数的例子,其中x的范围是0~20之间:
函数
我们先使用寻常的方法去绘制图像:

>> x = [0:0.01:20];
>> y = exp(-10*x.^2);
>> plot(x,y),grid on

plot命令
我们可以看出,在数据集很小的一个范围之内发生了所有的情况,让我们试一下对数图像:

>> loglog(x,y)

loglog命令
以上的命令我们的x轴和y轴都是对数形式,我们还可以让他们直接使用1,2,3这样的直接值,那么就需要以下两个命令:

  • semilogx(x,y):它产生的图像x轴使用对数值,而y轴使用直接值
  • semilogy(x,y):它产生的图像y轴使用对数值,而x轴使用直接值
发布了84 篇原创文章 · 获赞 18 · 访问量 5805

猜你喜欢

转载自blog.csdn.net/qq_44486550/article/details/105247845