MATLAB Learning Days---------极坐标和对数图像
极坐标和对数图像
极坐标图像:
如果学过高等数学,里面的微积分你肯定不会陌生,里面的图像也更不会陌生,回想我们用手画出这些奇怪的图像的时候,其实可以使用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
我们可以看出,在数据集很小的一个范围之内发生了所有的情况,让我们试一下对数图像:
>> loglog(x,y)
以上的命令我们的x
轴和y
轴都是对数形式,我们还可以让他们直接使用1,2,3
这样的直接值,那么就需要以下两个命令:
-
semilogx(x,y)
:它产生的图像x
轴使用对数值,而y
轴使用直接值 -
semilogy(x,y)
:它产生的图像y
轴使用对数值,而x
轴使用直接值
上一篇: MATLAB|在极坐标里画矢量
下一篇: 比特币测试网钱包