Matlab中complex函数的使用

这篇博客介绍了如何在MATLAB中使用`complex`函数创建复数,包括从实数标量、向量创建复数标量和复数向量。示例展示了不同输入方式的用法,并强调了复数的实部和虚部表示,以及如何检查复数的实部特性。
摘要由CSDN通过智能技术生成

目录

语法

说明

示例

来自两个实数标量的复数标量

基于两个实数向量的复数向量

来自一个实数标量的复数标量

创建复数


        complex函数的功能是创建复数数组

语法

z = complex(a,b)

z = complex(x)

说明

z = complex(a,b) 通过两个实数输入创建一个复数输出 z,这样 z = a + bi。

complex 函数非常有用,在一定情况下可替代如下的表达式:a + 1i*b 或 a + 1j*b

  • a 和 b 不是 double 或 single

  • b 全部为零

z= complex(x) 返回 x 的等效复数,这样 isreal(z) 返回逻辑值 0 (false)。

  • 如果 x 是实数,则 z 是 x + 0i。

  • 如果 x 是复数,则 z 与 x 相同。

示例

来自两个实数标量的复数标量

        使用 complex 函数创建复数标量 3 + 4i。

z = complex(3,4)
z = 3.0000 + 4.0000i

基于两个实数向量的复数向量

        基于两个实数 uint8 向量创建复数 uint8 向量。z 的大小(4×1)与输入参数的大小相同。

a = uint8([1;2;3;4]);
b = uint8([2;2;7;7]);

z = complex(a,b)
z = 4x1 uint8 column vector

   1 +   2i
   2 +   2i
   3 +   7i
   4 +   7i

来自一个实数标量的复数标量

        创建一个不包含虚部的复数标量。

z = complex(12)
z = 12.0000 + 0.0000i

        验证 z 是否为复数。

isreal(z)
ans = logical
   0

创建复数

        复数由两个单独的部分组成:实部和虚部。基本虚数单位等于 -1 的平方根。这在 MATLAB® 中通过以下两个字母之一表示:i 或 j。

        以下语句显示了一种在 MATLAB 中创建复数值的方法。变量 x 被赋予了一个复数值,该复数的实部为 2,虚部为 3:

x = 2 + 3i;

        创建复数的另一种方法是使用comlplex函数。此函数将两个数值输入组合成一个复数输出,并使第一个输入成为实部,使第二个输入成为虚部:

x = rand(3) * 5;
y = rand(3) * -8;

z = complex(x, y)
z =
   4.7842 -1.0921i   0.8648 -1.5931i   1.2616 -2.2753i
   2.6130 -0.0941i   4.8987 -2.3898i   4.3787 -3.7538i
   4.4007 -7.1512i   1.3572 -5.2915i   3.6865 -0.5182i

        可以使用real和imag函数分解复数,捕获其实部和虚部:

zr = real(z)
zr =
    4.7842    0.8648    1.2616
    2.6130    4.8987    4.3787
    4.4007    1.3572    3.6865

zi = imag(z)
zi =
   -1.0921   -1.5931   -2.2753
   -0.0941   -2.3898   -3.7538
   -7.1512   -5.2915   -0.5182

实部,指定为标量、向量、矩阵或多维数组。

        a 的大小必须与 b 的大小匹配,除非其中一个为标量。如果 a 或 b 为标量,则 MATLAB® 将扩展该标量以匹配另一输入的大小。

        a 和 b 必须具有相同的数据类型,以下情况例外:

  • single 可与 double 组合使用。

  • 满(非稀疏)标量 double 可与整数数据类型组合使用。

虚部,指定为标量、向量、矩阵或多维数组。

        b 的大小必须与 a 的大小匹配,除非其中一个为标量。如果 a 或 b 为标量,则 MATLAB 将扩展该标量以匹配另一输入的大小。

a 和 b 必须具有相同的数据类型,以下情况例外:

  • single 可与 double 组合使用。

  • 满(非稀疏)标量 double 可与整数数据类型组合使用。

复数数组,以标量、向量、矩阵或多维数组的形式返回。

z 的大小与输入参数的大小相同。

下面描述了当 a 和 b 具有不同的数据类型时 z 的数据类型。

  • 如果 a 或 b 为 single,则 z 为 single。

  • 如果 a 或 b 为整数数据类型,则 z 是相同的整数数据类型。

此外,仅当输入参数 a 和 b 都为稀疏时,z 才是稀疏的。

提示

  • 如果 b 仅包含零,则 z 是复数,其所有虚部分量的值为 0。相比之下,加法 a + 0i 返回严格的实数结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值