matlab中把虚数表示成负数
发布网友
发布时间:2022-04-21 18:44
我来回答
共2个回答
热心网友
时间:2023-10-15 17:50
我写了个程序实现你要的功能,基本思路是对输入向量的每个元素判断是否虚数,如果是虚数,取出其虚部,然后乘以-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(即只有虚部没有实部)。本程序的功能是将所有复数变成其虚部系数的相反数。如果虚数还有实部,我们只是忽略掉。
热心网友
时间:2023-10-15 17:51
想来想去只想到一个比较笨的办法,不过不用if、find和循环语句,而且确实管用。
a=[1 2 3 3i 2i 1i];
b=-imag(a); %计算向量a中所有元素的虚部,实数的虚部为零,并且转为负数;
c=real(a); %计算向量a中所有元素的实部,虚数的实部为零;
d=b+c