Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void buildMatrix(int n, int m, double hY, double hX)
- {
- for(int i = 0; i<n;++i)
- for(int j=0;j<m;++j)
- {
- matrix[i * m + j][i * m + j] = 2 / hY / hY;
- if(i > 0)
- {
- matrix[i * m + j][(i - 1) * m + j] = -1 / hX / hX - 1 / hY / hY ;
- }
- if(i < n - 1)
- {
- matrix[i * m + j][(i + 1) * m + j] = -1 / hX / hX - 1 / hY / hY ;
- }
- if(j > 0 && i > 0)
- {
- matrix[i * m + j][(i - 1) * m + (j - 1)] = -1 / hX / hX / 2;
- }
- if(j > 0 && i < n - 1)
- {
- matrix[i * m + j][(i + 1) * m + (j - 1)] = -1 / hX / hX / 2;
- }
- if(j < m - 1 && i > 0)
- {
- matrix[i * m + j][(i - 1) * m + (j + 1)] = -1 / hX / hX / 2;
- }
- if(j < m - 1 && i < n - 1)
- {
- matrix[i * m + j][(i + 1) * m + (j + 1)] = -1 / hX / hX / 2;
- }
- matrix[i * m + j][n * m] = 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement