array cannot have a deferred shape
Publicado por Hector (2 intervenciones) el 03/05/2018 23:56:52
Hola buenas,
he hecho un programa para calcular el numero de condición de una matriz y de esa manera sus sensibilidad a perturbaciones. Para ello he realizado un modulo con una serie de normas matriciales ( adjunto código ). El problema es que al compilarlo me pone lo siguiente: array `v` at (1) cannot have a deferred shape. Entiendo que tengo que declarar la dimension de la matriz explícitamente y no como lo he hecho, pero no se como. Si alguien sabe como solucionarlo le agradecería mucho su ayuda. Gracias.
PD: he probado a declarar la dimension de V de la misma forma que declaro la de A, pero no funciona.
he hecho un programa para calcular el numero de condición de una matriz y de esa manera sus sensibilidad a perturbaciones. Para ello he realizado un modulo con una serie de normas matriciales ( adjunto código ). El problema es que al compilarlo me pone lo siguiente: array `v` at (1) cannot have a deferred shape. Entiendo que tengo que declarar la dimension de la matriz explícitamente y no como lo he hecho, pero no se como. Si alguien sabe como solucionarlo le agradecería mucho su ayuda. Gracias.
PD: he probado a declarar la dimension de V de la misma forma que declaro la de A, pero no funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
subroutine norma_inf_m( A, normainf )
implicit none
real, intent( in ) :: A( :, : )
real, intent( out ) :: normainf
real :: V( : )
integer :: i, j, n
real :: S
n = size( A, dim = 1 )
do i = 1, n
S = 0
do j = 1, n
S = S + abs( A( i, j ) )
end do
V( i ) = S
end do
normainf = maxval( V )
end subroutine norma_inf_m
Valora esta pregunta


0