Salve a tutti
Non sono un utente attivo del forum ma vi leggo spesso anche senza entrare nelle discussioni.
In questo caso vi scrivo perché ho un problema nel calcolo di un integrale in fortran
Premetto che non sono assolutissimamente un esperto di programmazione, sto cercando di imparare.
questo è un pezzo del codice che sto usando per risolvere un'integrale
il mio problema sta nel fatto che ho bisogno di dire al codice che quando la mia d(j) raggiunge un determinato valore arbitrario, che inserirò io da terminale, deve uscire dal ciclo do
io ho messo messo un if exit, ed effettivamente esce dal ciclo il problema sta nel fatto che cmq essendo il mio vettore di punti composto da nJ punti il file che mi faccio scrivere ha nJ punti e tutti quelli oltre il valore di d(j)=1 valgono tutti 0. ovviamente
mi chiedevo se quindi ci fosso un modo per fermare anche il riempimento del vettore al nJ corrispondente al d(j)=raggio
do j=1, nJ
if (d(j)>raggio) exit
Sigma=0.
do i=j+1, nJ-1
b=s(i+1)*dens(i+1)/(((s(i+1)**2)-(d(j)**2))**(0.5))
a=s(i)*dens(i)/(((s(i)**2)-(d(j)**2))**(0.5))
call trapezio(s(i+1),s(i),b,a,integr(i))
!write(*,*)s(i)
Sigma=Sigma+integr(i)
end do
SI(j)=2.*Sigma
end do
Grazie mille