计算机内存是一维的,在存储多维数组时,有些语言按行优先原则,有些语言按列优先原则。Fortran语言就属于按列优先原则。
Fortran语言用reshape函数描述一个二维数组,比如下面的二维数组

用reshape可表示为:
A = reshape( (/ 1,5,2,6 /), (/2,2/) ) !注意列优先原则
这看起来有些繁琐,阅读代码方便不如MATLAB那样直观。新的Fortran语法标准采用了简洁的方式来表达二维数组
A(1,:) = [ 1, 2 ]
A(2,:) = [ 5, 6 ]
较新版本的Intel编译器支持这种语法。这种表达的优势在于所见即所得,阅读代码方便,和MATLAB一样。
下面是一个描述单元刚度矩阵的代码片段,如果用新语法该怎么写代码呢?
