首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

matlab中把虚数表示成负数

发布网友

我来回答

2个回答

热心网友

我写了个程序实现你要的功能,基本思路是对输入向量的每个元素判断是否虚数,如果是虚数,取出其虚部,然后乘以-1.

程序如下:
%%%%%%%%%%%%%%
function b=complex2negative(a)
b=a;
[row col]=size(a);
for rowNum=1:row
for colNum=1:col
if ~isreal(a(rowNum,colNum))
b(rowNum,colNum)=imag(a(rowNum,colNum))*-1;
end
end
end
%%%%%%%%%%%%%%
请保存为complex2negative.m。然后在命令窗口调用,如下例。
a=[1 2 3 3i 2i 1i];
b=complex2negative(a)

但是,你需要保证输入的向量中所有复数的实部为0(即只有虚部没有实部)。本程序的功能是将所有复数变成其虚部系数的相反数。如果虚数还有实部,我们只是忽略掉。

热心网友

想来想去只想到一个比较笨的办法,不过不用if、find和循环语句,而且确实管用。
a=[1 2 3 3i 2i 1i];
b=-imag(a); %计算向量a中所有元素的虚部,实数的虚部为零,并且转为负数;
c=real(a); %计算向量a中所有元素的实部,虚数的实部为零;
d=b+c

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com