Advertisement
martaczaska

mn lab 7

Jun 7th, 2021
1,108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.75 KB | None | 0 0
  1. function matrix = galerkin(panels)
  2.  
  3.  [rows,cols,numpanels] = size(panels);
  4.  matrix = zeros(numpanels, numpanels);
  5.  
  6.  M = 9;
  7.  [tempx tempy] = meshgrid(1/(2*M):1/M:1,1/(2*M):1/M:1);
  8.  evalgrid = [reshape(tempx,M*M,1) reshape(tempy,M*M,1) zeros(M*M,1)];
  9.  
  10. for i=1:numpanels
  11.     numverts = panels(1,1,i);
  12.     panel_i = panels(2:numverts+1,:,i);
  13.  
  14.     for i = 1 : 3
  15.         if (i == 3)
  16.             evalpoints(:, i) = 0;
  17.         else
  18.             evalpoints(:, i) = evalgrid(:, i)*(1/sqrt(numpanels))+ panel_i(1, i);
  19.         end
  20.     end
  21.     for j=1:numpanels
  22.         numverts = panels(1,1,j);
  23.         panel = panels(2:numverts+1,:,j);
  24.         [area, collocpt, Z, fss] = calcp(panel, evalpoints);
  25.         matrix(i,j) = sum(fss*(area/(M*M)));    
  26.     end
  27. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement