Graphical Representation of Shape Functions for a Canonical Quadrilateral Element

9 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)

Categories

Find more on Fit Postprocessing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!