Vous êtes sur la page 1sur 2

 −4 4 

0   0
 ( ∆x ) 2

3 ( ∆x )
2 
 
 1 −2 −1 
 ( ∆x ) 0  0
  8 
( ∆x ) ( ∆x )  − S1 − 3 ( ∆x ) φG 
2 2 2

  φ  
2

 
1

     −S 
 φ   2


2
1 −2 1
  0     

0 0 
 
( ∆x ) ( ∆x ) ( ∆x )  
2 2 2

  φ −S 
1 −2 1
i −1   i −1

  φ = −S

 0 0 
 
( ∆x ) ( ∆x ) ( ∆x )  
2 2 2 i i

  φ −S 
1 −2 1
i +1   i +1

     

0 0

 
( ∆x ) ( ∆x ) ( ∆x )  
2 2 2

  φ 
N −1   −SN
C −1

   
  
 1 
φ  −S − 8 φ 
 NC D
N
1 −2
 0  0   3 ( ∆x ) 
2

( ∆x ) ( ∆x ) ( ∆x ) 
2 2 2


 4 −4 
 0  
 3 ( ∆x ) ( ∆x ) 
2 2

! programme fortran pour la lecture de la forme matricielle Ax=b

𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑎𝑎(1: 2000), 𝑏𝑏(1: 2000), 𝑐𝑐(1: 2000), 𝑑𝑑(1: 2000), 𝑥𝑥(1: 2000), 𝑝𝑝ℎ𝑖𝑖(1: 2000)

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 ∗ 8 𝑑𝑑𝑑𝑑, 𝑑𝑑𝑑𝑑2, 𝑝𝑝ℎ𝑖𝑖_𝑔𝑔, 𝑝𝑝ℎ𝑖𝑖_𝑑𝑑, 𝑥𝑥_𝑔𝑔, 𝑥𝑥_𝑑𝑑

𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤(∗,∗)′𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑒𝑒𝑒𝑒 𝑢𝑢𝑢𝑢 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑 𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐ô𝑙𝑙𝑙𝑙𝑙𝑙′

𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤(∗,∗) ′𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑒𝑒 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔ℎ𝑒𝑒 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑥𝑥_𝑔𝑔 = ′

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟(∗,∗) 𝑥𝑥_𝑔𝑔

𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤(∗,∗) ′𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑑𝑑𝑑𝑑 𝑙𝑙𝑙𝑙 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑥𝑥_𝑑𝑑 = ′

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟(∗,∗) 𝑥𝑥_𝑑𝑑

𝑤𝑤𝑟𝑟𝑖𝑖𝑖𝑖𝑖𝑖(∗,∗) ′𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑙𝑙𝑙𝑙 𝑝𝑝𝑝𝑝𝑝𝑝 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑑𝑑𝑑𝑑 = ′

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟(∗,∗) 𝑑𝑑𝑑𝑑

𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤(∗,∗) ′𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑙𝑙𝑙𝑙 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑎𝑎𝑎𝑎 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔ℎ𝑒𝑒 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑝𝑝ℎ𝑖𝑖_𝑔𝑔 = ′

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟(∗,∗) 𝑝𝑝ℎ𝑖𝑖_𝑔𝑔

𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤𝑤(∗,∗) ′𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 𝑙𝑙𝑙𝑙 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑎𝑎𝑎𝑎 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑝𝑝ℎ𝑖𝑖_𝑑𝑑 = ′

𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟(∗,∗) 𝑝𝑝ℎ𝑖𝑖_𝑑𝑑

𝑁𝑁𝑁𝑁 = (𝑥𝑥_𝑑𝑑 − 𝑥𝑥_𝑔𝑔)/𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑2 = 𝑑𝑑𝑑𝑑 ∗ 𝑑𝑑𝑑𝑑

𝑥𝑥(1) = 𝑥𝑥_𝑔𝑔 + 𝑑𝑑𝑑𝑑/2.

𝑥𝑥(𝑁𝑁𝑁𝑁) = 𝑥𝑥_𝑑𝑑 − 𝑑𝑑𝑑𝑑/2.


𝑏𝑏(1) = −4./𝑑𝑑𝑑𝑑2

𝑐𝑐(1) = 4./(3.∗ 𝑑𝑑𝑑𝑑2)

𝑎𝑎(2) = 1./𝑑𝑑𝑑𝑑2

𝑑𝑑(1) = 𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(1)) − (8./(3.∗ 𝑑𝑑𝑑𝑑2)) ∗ 𝑝𝑝ℎ𝑖𝑖_𝑔𝑔

𝑝𝑝ℎ𝑖𝑖(1) = 1. −𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(1)) + (𝑐𝑐𝑐𝑐𝑐𝑐(1. ) − 1. ) ∗ 𝑥𝑥(1)

𝑑𝑑𝑑𝑑 𝑖𝑖 = 2, 𝑁𝑁𝑁𝑁 − 1

𝑥𝑥(𝑖𝑖) = 𝑥𝑥(1) + (𝑖𝑖 − 1) ∗ 𝑑𝑑𝑑𝑑

𝑎𝑎(𝑖𝑖 + 1) = 1./𝑑𝑑𝑑𝑑2

𝑏𝑏(𝑖𝑖) = −2./𝑑𝑑𝑑𝑑2

𝑐𝑐(𝑖𝑖) = 1./𝑑𝑑𝑑𝑑2

𝑑𝑑(𝑖𝑖) = 𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(𝑖𝑖))

𝑝𝑝ℎ𝑖𝑖(𝑖𝑖) = 1. −𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(𝑖𝑖)) + (𝑐𝑐𝑐𝑐𝑐𝑐(1. ) − 1. ) ∗ 𝑥𝑥(𝑖𝑖)

𝑒𝑒𝑒𝑒𝑒𝑒 𝑑𝑑𝑑𝑑

𝑏𝑏(𝑁𝑁𝑁𝑁) = −4./𝑑𝑑𝑑𝑑2

𝑐𝑐(𝑁𝑁𝑁𝑁 − 1) = 1./𝑑𝑑𝑑𝑑2

𝑎𝑎(𝑁𝑁𝑁𝑁) = 4./(3.∗ 𝑑𝑑𝑑𝑑2)

𝑑𝑑(𝑁𝑁𝑁𝑁) = 𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(𝑁𝑁𝑁𝑁)) − (8./(3.∗ 𝑑𝑑𝑑𝑑2)) ∗ 𝑝𝑝ℎ𝑖𝑖_𝑑𝑑

𝑝𝑝ℎ𝑖𝑖(𝑁𝑁𝑁𝑁) = 1. −𝑐𝑐𝑐𝑐𝑐𝑐(𝑥𝑥(𝑁𝑁𝑁𝑁)) + (𝑐𝑐𝑐𝑐𝑐𝑐(1. ) − 1. ) ∗ 𝑥𝑥(𝑁𝑁𝑁𝑁)

𝐸𝐸𝐸𝐸𝐸𝐸

Vous aimerez peut-être aussi