matlab中用i或j来表示虚部,创建复数时,可以直接按照复数形式输入。
MATLAB是一个用于科学研究与工程应用分析和设计的商业化算术运算软件,由美国新墨西哥大学的数学教授 Cleve Moler 开发。例如想用matlab将一个带变量的复数式(5+ib)/(3-2ia)整理为实部+虚部的形式。
则可以用如下指令:
syms
a
b
real
z=(5+ib)/(3-2ia);
simple([real(z),imag(z)])
ans
=
[
(15-2ba)/(9+4a^2),
(10a+3b)/(9+4a^2)]
matlab中,i作为保留字,如果没有被重新定义,就代表虚数单位
因此可以直接定义,如
a=1+i
就定义了一个复数a了
值得注意的是,如果i已经被另外定义了,就有歧义了,这时matlab会按照用户的定义来理解i,如上图。一开始直接赋值定义复数没有问题。后来由于i被定义成了符号变量,再a=1+i,a也成了一个符号变量。
你i是不是已经被定义为变量了,正常i就是复数单位,可以这样表示的
MATLAB复数处理的常用函数
一、创建复数1、赋值语句直接产生复数。
2、complex(a,b):该函数产生复数a+bi。
二、求实部
1、real(z):该函数求复数的实部。
三、求虚部
1、imag(z):求复数z的虚部。
四、求复数的值
1、abs(z):求复数z的值。
五、求复数的角度
1、angle(z):求复数z的角度。
六、求共轭复数
1、conj(z):求复数的共轭复数。
复数从直角坐标系转换到极坐标系,这一块主要是根据公式来。
对于 z = a + bi 的形式
r = sqrt(a^2+b^2) 在matlab中可以用abs()函数求。
theta = arctan(b/a) 在matlab中可以用angle()函数求,得到弧度结果。
结果如下:
对于极坐标转化直角坐标,也是根据公式
a = rcos(theta)
b = rsin(theta)
程序如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)