Advertisement
Guest User

Untitled

a guest
May 6th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.72 KB | None | 0 0
  1. function [T,x]=generate_and_solve(N,k,h,Te)
  2.  
  3. for i=1:N-1
  4.     a(i)=h+2*k*N^2;
  5. end
  6. D1=diag(a);
  7. D=D1(1:N-1,1:N-1);
  8.  
  9. for i=1:N-1
  10.     b(i)=-k*N^2;
  11. end
  12. L1=diag(b,-1);
  13. L=L1(1:N-1,1:N-1);
  14.  
  15. for i=1:N-1
  16.     b(i)=-k*N^2;
  17. end
  18. U1=diag(b,1);
  19. U=U1(1:N-1,1:N-1);
  20.  
  21. A=D+L+U;
  22.  
  23.  
  24. b=ones(N-1,1)*h*Te;
  25.  
  26. [n, n] = size(A);     % Find size of matrix A
  27. [n, k] = size(b);     % Find size of matrix b
  28. T = zeros(n,k);      % Initialize x
  29. for i = 1:n-1
  30.     m = -A(i+1:n,i)/A(i,i); % multipliers
  31.     A(i+1:n,:) = A(i+1:n,:) + m*A(i,:);
  32.     b(i+1:n,:) = b(i+1:n,:) + m*b(i,:);
  33. end;
  34.  
  35.  
  36. % Use back substitution to find unknowns
  37. T(n,:) = b(n,:)/A(n,n);
  38. for i = n-1:-1:1
  39.     T(i,:) = (b(i,:) - A(i,i+1:n)*T(i+1:n,:))/A(i,i);
  40. end
  41. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement