From 0ee309ea09f24eec5ae0003e9794b0e2c7746486 Mon Sep 17 00:00:00 2001 From: Leahy Date: Tue, 12 Dec 2017 18:51:44 -0500 Subject: [PATCH] 1 --- SE_diff.asv | 46 ++++++++++++++++++++++++++++++++++++++++++++++ SE_diff.m | 38 +++++++++++++++++++++++++++----------- 2 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 SE_diff.asv diff --git a/SE_diff.asv b/SE_diff.asv new file mode 100644 index 0000000..e622e7d --- /dev/null +++ b/SE_diff.asv @@ -0,0 +1,46 @@ +function [pw_se,w] = SE_diff(T,P,n) + + % Call function from part c to obtain vector w + w = membrane_solution(T,P,n); + % Create All Nodes Matrix (Interior & Exterior) + m = zeros(n+2); + c = vec2mat(w,n); % Vector w rearranged to n x n matrix. + m(2:n+1,2:n+1) = c; % insert matrix c into middle of m matrix + % m = symmetric matrix + + h = 10/(n+1); + + % Compute dw_dx + dx = zeros(n+2,n+1); + for i = 2:n+2 + dx(:,i-1)= (m(:,i)-m(:,i-1))/(h); + end + + dw_dx = zeros(n+1,n+1); + for i = 1:n+1 % rows + for j = 1:n+1 % columns + dw_dx(i,j) = (dx(i,j)+dx(i+1,j))/2; + end + end + disp(dw_dx) + + % Compute dw_dy + dy = zeros(n+1,n+2); + for i = 2:n+2 + dy(i-1,:)= (m(i-1,:)-m(i,:))/(h); + end + + dw_dy = zeros(n+1,n+1); + for i = 1:n+1 % rows + for j = 1:n+1 % columns + dw_dy(i,j) = (dy(i,j)+dy(i,j+1))/2; + end + end + disp(dw_dy) + + pw_se = zeros(n,n); + + for i = 1:16 + se_e1(i) = (1000*10^3*0.3*10^-3*h^2)/(2*(1-0.31^2))*((dw_dx(i))^4/4+(dw_dy(i))^4/4+0.5*(dw_dx(i))^2+0.5*(dw_dy(i))^2); + end + disp(pw_se) \ No newline at end of file diff --git a/SE_diff.m b/SE_diff.m index d73eb7f..19afd22 100644 --- a/SE_diff.m +++ b/SE_diff.m @@ -6,23 +6,39 @@ m = zeros(n+2); c = vec2mat(w,n); % Vector w rearranged to n x n matrix. m(2:n+1,2:n+1) = c; % insert matrix c into middle of m matrix - disp(m); % symmetric matrix + % m = symmetric matrix h = 10/(n+1); + % Compute dw_dx dx = zeros(n+2,n+1); for i = 2:n+2 - dx(:,i-1)= (m(:,i)-m(:,i-1))/h; + dx(:,i-1)= (m(:,i)-m(:,i-1))/(h); end - disp(dx) + dw_dx = zeros(n+1,n+1); - for i = 1:n+1 - %dw_dx((i:n+1),i) = (dx(i,i)+dx(i+1,i))/2; - %dw_dx((i-1:n+1),i+1) = (dx(i,2)+dx(i+1,2))/2; - %dw_dx(i,3) = (dx(i,3)+dx(i+1,3))/2; - %dw_dx(i,4) = (dx(i,4)+dx(i+1,4))/2; - %i = i+1; + for i = 1:n+1 % rows + for j = 1:n+1 % columns + dw_dx(i,j) = (dx(i,j)+dx(i+1,j))/2; + end end - disp(dw_dx) - % Compute dw_dy \ No newline at end of file + % Compute dw_dy + dy = zeros(n+1,n+2); + for i = 2:n+2 + dy(i-1,:)= (m(i-1,:)-m(i,:))/(h); + end + + dw_dy = zeros(n+1,n+1); + for i = 1:n+1 % rows + for j = 1:n+1 % columns + dw_dy(i,j) = (dy(i,j)+dy(i,j+1))/2; + end + end + + pw_se = zeros(n+1,n+1); + + for i = 1:16 + pw_se(i) = (1000*10^3*0.3*10^-3*h^2)/(2*(1-0.31^2))*((dw_dx(i))^4/4+(dw_dy(i))^4/4+0.5*(dw_dx(i))^2+0.5*(dw_dy(i))^2); + end + \ No newline at end of file