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 = 



>> 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毫秒