zoukankan      html  css  js  c++  java
  • Fortran 入门——基本矩阵运算

    学Fortran就是为了解决一些矩阵运算的问题,传说它的运算非常快,对矩阵的支持也非常好.

    敲了几行代码,实现了一些基本运算,果然很方便.

     1     program Console4
    2 implicit none
    3 parameter N=5
    4 integer i,j
    5 real array1(2,N),array2(N,2),array3(2,2)
    6 real array4(2,3),array5(2,3),array6(2,3)
    7 array1(1,1)=3.2;array1(1,2)=4.5;array1(1,3)=7.56;array1(1,4)=6.34;array1(1,5)=34.2;
    8 array1(2,1)=44.3;array1(2,2)=12.3;array1(2,3)=1.236;array1(2,4)=12.2;array1(2,5)=9.5;
    9 !对array1 求转置矩阵
    10 array2=transpose(array1)
    11 call PrintArray(array1)
    12 call PrintArray(array2)
    13 !对array1和array2求乘积
    14 array3=matmul(array1,array2)
    15 call PrintArray(array3)
    16 array4=3
    17 array5=2
    18 array6=array4+array5
    19 call PrintArray(array6)
    20 array6=array4-array5
    21 call PrintArray(array6)
    22 !array6= lincg(array5)
    23 read *,i
    24
    25 end program Console4
    26
    27 subroutine PrintArray(array)
    28 real array(:,:)
    29 integer length,i
    30 length=size(array,1)
    31 do i=1,length
    32 print *,array(i,:)
    33 end do
    34 print *,''
    35 end subroutine

    我定义了几个矩阵,分别用它们做了矩阵的加,减,乘,求转置运算,可以看到加法和减法直接调用运算符就行了,不需要重载.乘法和求转置矩阵则可以直接调用内部函数.

    另外我定义了负责在屏幕上输入矩阵的函数PrintArray(array),将矩阵作为函数参数也是很方便的.

  • 相关阅读:
    Jenkins+postman+Newman之API自动化测试
    python之路——迭代器和生成器
    文件操作
    函数
    python基础数据类型二
    dp的一种理解角度及[NOI2020]命运 题解
    从零开始“发明”Treap
    博客停更
    [转]Linux下C语言-RPC远程调用编程rpcgen用法
    一位编程小白的自述 —— 从小学到现在
  • 原文地址:https://www.cnblogs.com/xxfss2/p/2249981.html
Copyright © 2011-2022 走看看