自由边界条件下克拉尼图形的模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目:自由边界条件下克拉尼图形的模拟
学院:物理工程学院
姓名:文美乐
专业:应用物理1203班
学号:121410020322
t=0:pi/20:4*pi; %0到4pi,每隔Pi/20取一个数
x=0:0.1*pi:4*pi; %0到4pi,每次增加0.1pi
m=moviein(40); %定义一个40列的矩阵m,以存储40帧画面,每列对应一帧画面for i=1:40;
y=sin(x+t(i));
plot(x,y ,'o');
m(:,i)=getframe; %依次将40帧画面存入矩阵m
end
movie(m,10,20) %将40帧画面演示10次,每秒20帧画面
图形:
t=0:pi/20:4*pi; %0到4pi,每隔Pi/20取一个数
x=0:0.1*pi:4*pi; %0到4pi,每次增加0.1pi
m=moviein(40); %定义一个40列的矩阵m,以存储40帧画面,每列对应一帧画面for i=1:40 ;
y1=sin(x+t(i));
y2=sin(x-t(i));
y=y1+y2;%两列行波叠加
plot(x,y1,x,y2,x,y);
m(:,i)=getframe; %依次将40帧画面存入矩阵m
end
movie(m,10,20) %将40帧画面演示10次,每秒20帧画面
图形:
t=[0:pi/20:4*pi];%0到4*pi,每隔pi/20取一个数
x=[0:0.1*pi:4*pi];%0到4*pi,每次增加0.1*pi
y=x;
[X,Y]=meshgrid(x,y);%定义数组x,y,
m=moviein(40); %定义一个40列的矩阵m,以存储40帧画面,每列对应一帧画面for i=1:40 ;
Z=sin(X+t(i))+sin(X-t(i));%定义z函数
mesh(X,Y,Z);%画三维图
m(:,i)=getframe; %依次将40帧画面存入矩阵m
end
movie(m,10,20) %将40帧画面演示10次,每秒20帧画面
图形:
双原子
clear;clc %清除窗口
A=[1,-1;-1,1];
[w,v]=eig(A) %矩阵A的特征值w,特征向量v
t=[0:pi/20:2*pi]; %0到2pi,每隔Pi/20取一个数
z1=w(1)*cos(v(4)*t); %第一个小球的位移
z2=w(4)*cos(v(4)*t); %第二个小球的位移
figure;
hold on;
box on;
r = 0.1; %小球半径
xr1 = r*cos(t)+0.2; yr1 = r*sin(t)+z1(1); %第一个小球xr2 = r*cos(t)-0.2; yr2 = r*sin(t)+z2(1); %第二个小球hb1 = fill(xr1, yr1, 'r'); %绘制第一个小球
hb2 = fill(xr2, yr2, 'y'); %绘制第二个小球
axis([-1 7 -1.2 1.2]); %坐标轴范围设置
axis equal; %坐标轴属性设置
for i = 1 : length(t)
set(hb1,'YData',r*sin(t)+z1(i)) ;
%移动第一个小球
set(hb2,'YData',r*sin(t)+z2(i));
% 移动第二个小球
pause(0.05);%延时播放
end
图形:
十原子运动
clc;
clear all;
A=[1 -1 0 0 0 0 0 0 0 0;-1 2 -1 0 0 0 0 0 0 0;0 -1 2 -1 0 0 0 0 0 0;0 0 -1 2 -1 0 0 0 0 0;0 0 0 -1 2 -1 0 0 0 0;0 0 0 0 -1 2 -1 0 0 0;0 0 0 0 0 -1 2 -1 0 0;0 0 0 0 0 0 -1 2 -1 0;0 0 0 0 0 0 0 -1 2 -1;0 0 0 0 0 0 0 0 -1 1];
[W,V]=eig(A) %矩阵A的特征值w,特征向量v
lin=5;
w1=(W(1,lin));
w2=(W(2,lin));
w3=(W(3,lin));
w4=(W(4,lin));
w5=(W(5,lin));
w6=(W(6,lin));
w7=(W(7,lin));
w8=(W(8,lin));
w9=(W(9,lin));
w10=(W(10,lin)); %振幅w
v1=sqrt(V(1,1));
v2=sqrt(V(2,2));
v3=sqrt(V(3,3));
v4=sqrt(V(4,4));
v5=sqrt(V(5,5));
v6=sqrt(V(6,6));
v7=sqrt(V(7,7));
v8=sqrt(V(8,8));
v9=sqrt(V(9,9));
v10=sqrt(V(10,10)); %频率v
t=linspace(0,2*pi);
z1=w1*cos(v10*t);
z2=w2*cos(v10*t);
z3=w3*cos(v10*t);
z4=w4*cos(v10*t);
z5=w5*cos(v10*t);
z6=w6*cos(v10*t);
z7=w7*cos(v10*t);
z8=w8*cos(v10*t);
z9=w9*cos(v10*t);
z10=w10*cos(v10*t); %十个小球分别的位移
figure;
hold on;
box on;
r=0.1;
xr1=r*cos(t)-1.8;yr1=r*sin(t)+t(1);
xr2=r*cos(t)-1.4;yr2=r*sin(t)+t(1);
xr3=r*cos(t)-1.0;yr3=r*sin(t)+t(1);
xr4=r*cos(t)-0.6;yr4=r*sin(t)+t(1);
xr5=r*cos(t)-0.2;yr5=r*sin(t)+t(1);
xr6=r*cos(t)+0.2;yr6=r*sin(t)+t(1);
xr7=r*cos(t)+0.6;yr7=r*sin(t)+t(1);
xr8=r*cos(t)+1;yr8=r*sin(t)+t(1);
xr9=r*cos(t)+1.4;yr9=r*sin(t)+t(1);
xr10=r*cos(t)+1.8;yr10=r*sin(t)+t(1); %十个小球分别得初始位置hb1=fill(xr1,yr1,'r');
hb2=fill(xr2,yr2,'r');
hb3=fill(xr3,yr3,'r')
hb4=fill(xr4,yr4,'r')
hb5=fill(xr5,yr5,'r');
hb6=fill(xr6,yr6,'r');
hb7=fill(xr7,yr7,'r');