% 通过设置句柄来达到理想d簧振子简谐运动示例
% 其核心思想是句柄、数据设置、演示延迟等% 理想d簧振子简谐运动
clcclear allclose all% 清理matlab空间
figurehold onbox on% 打开figure窗口
% 绘制矩形框,作为顶板
rectangle('position', [12, 8.5, 2, 0.3], 'FaceColor', [0.5,0.3,0.4])
% 设置坐标轴
axis([0, 15, -1, 10])
% 绘制直线
plot([13,13], [7,8.5], 'r', 'linewidth', 2)
% 画d簧
y = 2:.2:7
M = length(y)% y的长度
x = 12+mod(1:M,2)*2
x(1) = 13
x(end-3:end) = 13% 直线数据
D = plot(x,y)
% 画小球
C = 0:.1:2*pi
r = 0.35
t1 = r*sin(C)
F1 = fill(13+r*cos(C),2+t1,'r')
% 设置坐标轴属性
set(gca, 'ytick', [0:2:9])
set(gca, 'yticklabels', num2str([-1:3]'))
% 绘制中间横线
plot([0,15], [3.3,3.3], 'black')
% 绘制中间横线,此时为绿色线
H1 = plot([0,13], [3.3,3.3], 'g')
% 运动曲线
Q = plot(0,3.8,'color','r')
td = []
yd = []
T = 0
% 字符标签
text(2, 9, '理想中的d簧振子简谐振动', 'fontsize', 16)
set(gcf, 'doublebuffer', 'on')
while T <12
% 设置时间延迟
pause(0.2)
Dy = (3/2-1/2*sin(pi*T))*1/2
Y = -(y-2)*Dy+7
Yf = Y(end)+t1
td = [td,T]% 保存数据
yd = [yd,Y(end)]% 保存数据
set(D, 'ydata', Y)% 设置数据
set(F1, 'ydata', Yf, 'facecolor', rand(1,3))% 设置小球
set(H1, 'xdata', [T,13], 'ydata', [Y(end),Y(end)])% 设置横轴
set(Q, 'xdata', td, 'ydata', yd)% 绘制运动曲线
T = T+0.1
end
您好,NFIELD - 所选择实体对应 *** 作命令的第几个参数 (field),注意 *** 作命令的第一个域是命令本身,因此 NFIELD=2,表示是命令的第1个参数; NFIELD=3,表示是命令的第2个参数.....等。NARG - 后续列表中的项数 (即后续 FITEM 命令行数)
TYPE - 所选择的实体类型,定义为:
1 - 节点编号;
2 - 单元编号;
3 - Keypoint 编号;
4 - Line 编号;
5 - Area 编号;
6 - Volume 编号;
7 - Trace points;
8 - 总体直角坐标系中的坐标值;
9 - 屏幕坐标选择 (在屏幕 X, Y 坐标中,值 (-1 to 1))
Otype - 数据排列方式,有两种方式:
NOOR - 数据是无序的 (默认);
ORDER - 数据是个有序的表 (例如对于 E,P51X 和 A,P51X 命令,其中数据的顺序与用 pick 方式选择时的顺序一致)。
LENG - 数据表长度 (后续 FITEM 命令的个数。如果 Otype = NOOR,LENG 应等于 NARG)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)