我是fortran中的新成員,我想寫一個包含矩陣元素的double複數矩陣派生類型。我需要做的是定義類型並初始化矩陣,定義一個例程,以可讀形式寫入Matrix TYPE文件,然後在屏幕上打印此矩陣。我試着用這個程序,它應該給矩陣的每個元素賦值1d0,我不知道什麼是錯誤的,但它不起作用。有誰能夠幫助我?Fortran中雙複雜矩陣派生類型
這是我的計劃
module matrices
type matrix
double complex, dimension(:,:), allocatable :: aa
end type
contains
function assign(var)
type(matrix) :: var
integer*4 ii, jj
do ii = 1, 2
print *, ii
do jj = 1, 3
var%aa(ii, jj) = var%aa
end do
end do
end function
end module matrices
program test
use matrices
type(matrix) :: AA
AA = matrix(2d0)
integer :: kk, ll
do kk = 1, 2
do ll = 1, 3
write (*, *) AA(kk, ll)
end do
end do
end program test
什麼意思是「它不工作」?避免使用這個短語。 – 2014-10-29 14:34:20
我得到以下錯誤:VAR%AA(II,JJ)= VAR%AA 錯誤:不兼容的行列0和2中分配在(1) 使用矩陣致命錯誤:無法打開模塊文件' (1) – 2014-10-29 14:50:48
如果它是可分配的,你在哪裏'ALLOCATE(var(2,3))'? – ja72 2014-10-29 15:08:31