Fortran 中有没有类似matlab里repmat的函数

Fortran 中有没有类似matlab里repmat的函数?
此外,Fortran中如何实现一维矩阵和二维矩阵的相乘?matmul只能用于两个二维矩阵,dotproduct只能用于两个数组,什么能用于数组和二维矩阵的相乘?
另外,Fortra如何实现对数列直接赋值成一个等差数列,在matlab里,A=1:100就可以直接赋值一个1到100的数列,Fortran里该怎么弄?

我知道以上问题在Fortran里都可以通过do循环来实现,我想问的是Fortran里有没有可以直接用的函数,像matlab那样,不用自己写。

(1)可以试一试spread函数,SPREAD(a,d,n)以某维d扩展数组a的元素n次。
(2)既然matmul只能适用于2维矩阵,那么就把原来的一维数组统一改写成n×1的二维矩阵。
(3)dotproduct就是求向量积,至于你说的数组和二维矩阵相乘是什么鬼,我猜也就是matmul可以实现的功能吧,看第(2)个答案。
(4)这个问题学了fortran初级的就会,比如说要赋值a=1:1:100,直接a=(/(j,j=1,100,1)/)
温馨提示:答案为网友推荐,仅供参考
相似回答