Rumah > tutorial komputer > pengetahuan komputer > Apakah fungsi yang boleh dipanggil dalam Fortran untuk menyelesaikan matriks songsang?

Apakah fungsi yang boleh dipanggil dalam Fortran untuk menyelesaikan matriks songsang?

王林
Lepaskan: 2024-01-23 23:42:12
ke hadapan
1554 orang telah melayarinya

1. Apakah fungsi panggilan matriks songsang dalam Fortran?

Di Fortran, anda boleh menggunakan fungsi perpustakaan LAPACK untuk mengira songsangan matriks. Berikut ialah langkah umum untuk memanggil LAPACK untuk mengira matriks songsang:

  1. Mengimport perpustakaan LAPACK:
    • Dalam atur cara Fortran, import subrutin dalam LAPACK dengan menggunakan perisytiharan LUARAN. EXTERNAL 声明来导入 LAPACK 中的子程序。
EXTERNAL DGETRF, DGETRI
Salin selepas log masuk
  1. 调用逆矩阵函数:
    • 使用 LAPACK 提供的函数,如 DGETRF 进行 LU 分解,然后使用 DGETRI 计算逆矩阵。
CALL DGETRF(N, N, A, LDA, IPIV, INFO)
CALL DGETRI(N, A, LDA, IPIV, WORK, LWORK, INFO)
Salin selepas log masuk
  1. 参数说明:
    • N:矩阵的阶数。
    • A:输入矩阵。
    • LDA:矩阵 A 的第一个维度的大小。
    • IPIV:存储 LU 分解的中间结果。
    • WORK:工作数组。
    • LWORK:工作数组的大小。
    • INFO:返回操作状态。

二、Fortran编程题线性方程组解问题?

解决线性方程组可以使用 LAPACK 中的函数。以下是一般步骤:

  1. 导入 LAPACK 库:
    • 在Fortran程序中导入 LAPACK 库,声明使用相关的子程序。
EXTERNAL DGESV
Salin selepas log masuk
  1. 调用线性方程组求解函数:
    • 使用 LAPACK 提供的函数 DGESV 进行线性方程组的求解。
CALL DGESV(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
Salin selepas log masuk
  1. 参数说明:
    • N:矩阵的阶数。
    • NRHS:右侧矩阵的列数。
    • A:系数矩阵。
    • LDA:矩阵 A 的第一个维度的大小。
    • IPIV:存储 LU 分解的中间结果。
    • B:右侧矩阵。
    • LDB:矩阵 B 的第一个维度的大小。
    • INFO:返回操作状态。

三、Fortran95子程序命名大神帮改错高分?

在Fortran95中,子程序的命名规则相对自由,但一些常见的规则包括:

  1. 清晰的命名:
    • 子程序的名称应当能够清晰表达其功能,避免使用过于简单或无意义的名称。
SUBROUTINE SolveLinearSystem
Salin selepas log masuk
  1. 使用下划线连接单词:
    • 为提高可读性,可以使用下划线 _
  2. SUBROUTINE Matrix_Multiplication
    Salin selepas log masuk
        Panggil fungsi matriks songsang:
      1. Gunakan fungsi yang disediakan oleh LAPACK, seperti DGETRF untuk penguraian LU, dan kemudian gunakan DGETRI</ code> Kira matriks songsang. <ul><li></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:fortran;toolbar:false;">SUBROUTINE MySum</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Penerangan parameter: <strong></strong></p> <kod>N: Susunan matriks. <ol class="newOl"> <li><kod>A: matriks input. </kod></li> <li><kod>LDA: Saiz dimensi pertama matriks <kod>A. </kod></kod></li> </ol> <kod>IPIV: Menyimpan hasil perantaraan penguraian LU. <p class="tImg"><img src="https://img.php.cn/upload/article/000/465/014/170602453487719.jpg" alt="Apakah fungsi yang boleh dipanggil dalam Fortran untuk menyelesaikan matriks songsang?"><kod>KERJA: tatasusunan kerja. </kod></p>🎜<kod>LWORK: Saiz tatasusunan kerja. 🎜🎜<kod>INFO: Mengembalikan status operasi. 🎜🎜🎜🎜🎜🎜2. Soalan pengaturcaraan Fortran untuk menyelesaikan persamaan linear? 🎜🎜🎜Untuk menyelesaikan sistem persamaan linear, anda boleh menggunakan fungsi dalam LAPACK. Berikut ialah langkah umum: 🎜🎜🎜🎜Import perpustakaan LAPACK: 🎜🎜🎜Import perpustakaan LAPACK dalam program Fortran dan isytiharkan penggunaan subrutin berkaitan. 🎜🎜🎜🎜rrreee<ol start="2">🎜🎜Panggil fungsi penyelesaian persamaan linear: 🎜🎜🎜Gunakan fungsi <code>DGESV yang disediakan oleh LAPACK untuk menyelesaikan persamaan linear. 🎜🎜🎜🎜rrreee🎜🎜🎜Penerangan parameter: 🎜🎜🎜N: Susunan matriks. 🎜🎜NRHS: Bilangan lajur matriks di sebelah kanan. 🎜🎜A: matriks pekali. 🎜🎜LDA: Saiz dimensi pertama matriks A. 🎜🎜IPIV: Menyimpan hasil perantaraan penguraian LU. 🎜🎜B: Matriks kanan. 🎜🎜LDB: Saiz dimensi pertama matriks B. 🎜🎜INFO: Mengembalikan status operasi. 🎜🎜🎜🎜🎜🎜 3. Pakar penamaan subrutin Fortran95 boleh membantu membetulkan kesilapan dan mendapat markah yang tinggi? 🎜🎜🎜Dalam Fortran95, peraturan penamaan subrutin adalah agak percuma, tetapi beberapa peraturan biasa termasuk: 🎜🎜🎜🎜Penamaan yang jelas: 🎜🎜🎜Nama subrutin seharusnya dapat menyatakan fungsinya dengan jelas dan elakkan daripada menggunakan terlalu mudah atau tidak perlu Nama yang bermakna. 🎜🎜🎜🎜rrreee
          🎜🎜Gunakan garis bawah untuk menyambung perkataan: 🎜🎜🎜Untuk meningkatkan kebolehbacaan, anda boleh menggunakan garis bawah _ untuk menyambung perkataan. 🎜🎜🎜🎜rrreee🎜🎜🎜Elakkan konflik dengan fungsi terbina dalam: 🎜🎜🎜Elakkan menggunakan nama yang sama dengan fungsi terbina dalam Fortran untuk mengelakkan kekeliruan. 🎜🎜🎜🎜rrreee🎜🎜Ringkasan🎜🎜🎜🎜(1) Dalam Fortran, penyongsangan matriks dan penyelesaian sistem persamaan linear boleh dicapai menggunakan fungsi dalam perpustakaan LAPACK. 🎜🎜(2) Penamaan subrutin hendaklah menyatakan dengan jelas fungsinya. Garis bawah boleh digunakan untuk menyambung perkataan untuk mengelakkan konflik dengan fungsi terbina dalam. 🎜🎜 🎜🎜🎜

      Atas ialah kandungan terperinci Apakah fungsi yang boleh dipanggil dalam Fortran untuk menyelesaikan matriks songsang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    sumber:docexcel.net
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan