Matlab 版 (精华区)
发信人: bage (最近比较烦), 信区: Matlab
标 题: Matlab详细教程(三十五)
发信站: 哈工大紫丁香 (Sun Feb 4 13:04:25 2001), 转信
发信人: finance (淼水), 信区: MathTools
发信站: BBS 水木清华站 (Sat Apr 3 16:32:16 1999)
4.1.3 复数
--------------------------------------------------------------------------------
要说明复数的运算,先从解以下的二次方程式的复数根谈起
上式的根有实部 (-2) 及虚部 (±3),我们就这个复数的表示法来说明 MATLAB的复数功能。MATLAB 是以i或j字元来代表虚部,其它的复数相关函数有real, imag, conj, abs, angle等等,详见线上说明lookfor complex。如果复数表示为 x=a+bi
共轭复数 =, 复数大小r =, 复数向量的夹角 θ= tan-1 (b/a)
复数实部a = r cosθ, 复数虚部b = r sinθ, 复数指数表示法 x=r ei
上述各函数对应MATLAB的复数指令为
a=real(x), b=imag(x), =conj(x), r=abs(x), =angle(x), x=r*exp(i*angle(x))
以下是几个复数表示式的例子:
>> x=1-2*i; % 注意是 2*i 不是 2i
>> real(x) % 列出实部
ans =
1
>> imag(x) % 列出虚部
ans =
-2
>> conj(x) % 计算共轭复数
ans =
1.0000 + 2.0000i
>> abs(x) % 计算复数的大小
ans =
2.2361
>> angle(x) % 计算复数向量的夹角(以径度表示)
ans =
-1.1071
>> a=1; b=4; c=13;
>> x1=(-b+sqrt(b^2-4*a*c))/(2*a) % 以解二次方程式根的公式计算复数根
x1 =
-2.0000 + 3.0000i
>> x2=(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
-2.0000 - 3.0000i
>> y=exp(i) % 以复数指数方式表示一个复数
y =
0.5403 + 0.8415i
>> y=exp(i*pi*0.75)
y =
-0.7071 + 0.7071i
和复数有关的图以极座标来表示会比一般的卡氏座标要合适,polar指令可以将数据以极座标方式加以绘图,其语法为 polar(theta,r),(theta,r)分别代表极座标上的角度及半径值。以下的例子说明了 polar用法:
>> t=0:0.01:2*pi;
>> r=sin(2*t).*cos(2*t);
>> polar(t,r)
>> title('Polar plot of sin(2t)cos(2t)')
>> angle=0:2*pi/100:2*pi;
>> r=angle/(2*pi);
>> polar(angle,r)
>> title('Polar plot')
>> grid
--------------------------------------------------------------------------------
上一页 下一页 讲义大纲
--
行至水穷处,坐看云起时
***********************
菩提本无树,明镜亦非台
本来无一物,何处染尘埃
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bage.bbs@smth.org]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.068毫秒