C 庫 - cabs() 函式



C 的complexcabs() 函式用於獲取複數的絕對值(也稱為範數、模數或幅度)。

此函式取決於 z(複數)的型別。如果 z 為“float”型別或浮點虛數,我們可以使用cabsf()獲取絕對值,對於 long double 型別,使用cabsl(),對於 double 型別,使用cabs()

語法

以下是 cabs() 函式的 C 庫語法:

double cabs( double complex z );

引數

此函式接受一個引數:

  • Z - 它表示我們要計算其絕對值的複數。

返回值

如果未發生錯誤,則此函式返回 z 的絕對值(範數、幅度)。

示例 1

以下是一個基本的 C 程式,演示瞭如何使用 cabs() 獲取複數 (z) 的絕對值。

#include <stdio.h>
#include <complex.h>

int main(void) {
   double complex z = 3.5 + 2.21 * I;
   double result = cabs(z);
   printf("cabs(%.2f + %.2fi) = %.3f\n", creal(z), cimag(z), result);
   return 0;
}

輸出

以下是輸出:

cabs(3.50 + 2.21i) = 4.139

示例 2

讓我們看另一個例子,我們使用 CMPLX() 建立一個複數。然後我們使用 cabs() 函式獲取複數的絕對值。

#include <stdio.h>
#include <complex.h>

int main() {
   double real = 5.0;
   double imag = 6.0;

   // Use the CMPLX function to create complex number
   double complex z = CMPLX(real, imag);
   printf("The complex number is: %.2f + %.2fi\n", creal(z), cabs(z));

   // use cabs()
   double absolute_val = cabs(z);
   printf("The magnitude of z: %.2f\n", absolute_val);

   return 0;
}

輸出

以下是輸出:

The complex number is: 5.00 + 7.81i
The magnitude of z: 7.81

示例 3

下面的示例使用 cabs() 函式計算結果複數的絕對值。

#include <stdio.h>
#include <complex.h>

int main() {
    long double complex z1 = 3.0 + 5.0 * I;
    long double complex z2 = 4.0 + 3.0 * I;

    // Difference of two complex numbers
    long double complex z = z2 - z1;

    printf("z: %.1Lf + %.1Lfi\n", creall(z), cimagl(z));
    printf("Complex Absolute value: %.2Lf\n", cabsl(z));

    return 0;
}

輸出

以下是輸出:

z: 1.0 + -2.0i
Complex Absolute value: 2.24
c_library_complex_h.htm
廣告

© . All rights reserved.