用matlab求解复数的指数

用matlab求解复数的指数,第1张

如下函数分别返回输入参数x的指数、对数、幅值和相角
function [a, b, c, d] = fun(x)
a = exp(x);
b = log(x);
c = abs(x);
d = angle(x);

嗯,先定义范围,比如 a=0:001:1;
然后,a+bi=rcos(ζ)+irsin(ζ)
r=(a^2+b^2)^05;
ζ=arctan(b/a);
plot(r,ζ)
缺的自己补吧

你所说的均匀分布是指随机量吧?

生成你要求的向量很简单,一个语句就可以了:

a=exp(i2pirand(1,10));

为了检验生成的效果,点取稍多一些,绘出图来观察(图中,横轴为实轴,纵轴为虚轴):

N=500;
a=exp(i2pirand(1,N));
plot(a,'')
axis equal

45度时,实轴为1,虚轴为i,则
>> angle(1+i)180/pi
ans = 45
可以看出,angle计算出来的是弧度,乘以180/pi化为角度。
>> angle(i)180/pi
ans = 90
直角时,实轴为0
>> abs(1+i)
ans = 14142
14142即根号2,模

例如想用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)]

syms a b real %创建实数符号变量
f=a+ib; %创建z为复数符号变量
real(f)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12602312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存