Graphical Representation of Shape Functions for a Canonical Quadrilateral Element

23 ビュー (過去 30 日間)
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.

採用された回答

Precise Simulation
Precise Simulation 2020 年 5 月 5 日
編集済み: Precise Simulation 2020 年 5 月 5 日
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))

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by