Graphical Representation of Shape Functions for a Canonical Quadrilateral Element

35 views (last 30 days)
Hi! I am a beginner user, I would like to plot a Quadrilateral shape function that I am studing. I know the theoretical functions and the graphical results (show bellow) but I am failing to plot the same graphics.
Just the first plot seems to be correct.
[s,t]=meshgrid(0:0.1:1,0:0.1:1)
N1=(1/4)*(t-1)*(s-1);
subplot(2,2,1)
surf(s,t,N1)
[s,t]=meshgrid(0:0.1:1,0:0.1:1)
N2=@(s,t)(1/4)*(t+1)*(s-1);
subplot(2,2,2)
surf(s,t,N2(s,t))
[s,t]=meshgrid(0:0.1:1,0:0.1:1)
N3=@(s,t)(1/4)*(t+1)*(s+1);
subplot(2,2,3)
surf(s,t,N3(s,t))
[s,t]=meshgrid(0:0.1:1,0:0.1:1)
N4=@(s,t)(-1/4)*(t-1)*(s+1);
subplot(2,2,4)
surf(s,t,N4(s,t)
Thank you.

Accepted Answer

Precise Simulation
Precise Simulation on 5 May 2020
Edited: Precise Simulation on 5 May 2020
1. The local coordinates should go from -1..1 (not 0..1).
2. Switch order for the local coordinates 1+/-s/t (not s/t+/-1).
3. Use the elemetwise product operator ".*" between s/t (s and t are matrices and using "*" will result in matrix multiplication which is not correct).
[s,t] = meshgrid(-1:0.1:1,0:0.1:1);
N1 = 1/4*(1-t).*(1-s);
subplot(2,2,1)
surf(s,t,N1)
N2 = @(s,t)1/4*(1-t).*(1+s);
subplot(2,2,2)
surf(s,t,N2(s,t))
N3 = @(s,t)1/4*(1+t).*(1+s);
subplot(2,2,3)
surf(s,t,N3(s,t))
N4 = @(s,t)1/4*(1+t).*(1-s);
subplot(2,2,4)
surf(s,t,N4(s,t))

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!