齐次弦振动方程的MATLAB解法Word文件下载.docx

上传人:b****6 文档编号:20679121 上传时间:2023-01-25 格式:DOCX 页数:12 大小:237.79KB
下载 相关 举报
齐次弦振动方程的MATLAB解法Word文件下载.docx_第1页
第1页 / 共12页
齐次弦振动方程的MATLAB解法Word文件下载.docx_第2页
第2页 / 共12页
齐次弦振动方程的MATLAB解法Word文件下载.docx_第3页
第3页 / 共12页
齐次弦振动方程的MATLAB解法Word文件下载.docx_第4页
第4页 / 共12页
齐次弦振动方程的MATLAB解法Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

齐次弦振动方程的MATLAB解法Word文件下载.docx

《齐次弦振动方程的MATLAB解法Word文件下载.docx》由会员分享,可在线阅读,更多相关《齐次弦振动方程的MATLAB解法Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

齐次弦振动方程的MATLAB解法Word文件下载.docx

为自由端。

(3)第三类边界问题:

第一类和第二类边界问题的线性组合。

一、两端固定的弦振动问题

两端固定的弦振动方程的定解问题可表示如下:

1、初始位移不为0,初始速度为0

不妨设:

(1)特征函数求解解

由d’Alembert公式:

从而我们可以得到方程的级数解:

而我们知道,弦振动的泛定方程属于本征问题:

它在两个边界上都有第一类其次边界条件,它的本征值与本征函数为:

将系数带入方程,级数中每一项都是一个驻波,定义子程序wfun.m计算不同n的求和各项,再用主程序jxj将它们加起来,得到动画图形。

(MATLAB代码见附录1

(1))

(2)差分方程求解

利用差分方程同样可以求出问题的解。

,将微分方程改写成差分方程,即有

其中,

于是,初始条件可以表示为:

作图时,先画出

的图形,然后再用

代替其中的

,改变

的值,就画出了不同时刻

的图形。

(MATLAB代码见附录1

(2))

解得的动态图形如下:

2、初始位移为0,初始速度不为0

设初始速度为:

(1)特征函数求解

通过求本征函数与本征值的方法我们可以得到方程的解析解:

其中系数,

,类似的,用函数计算级数中的各项,再在主函数中调用便可得解。

(MATLAB代码见附录2

(1))

类似于问题1,我们还可以采用差分方程求解,不过需要注意的是,题目中的初始条件应表示为:

(MATLAB代码见附录2

(2))

解得的动画图形如下:

【总结】

通过运用MATLAB构造和求解齐次弦振动方程,绘制了相关图像,直观感受了方程解,加深了对其物理意义的理解。

借助于计算机来做计算和研究的过程涉及到建立模型,选择方法,语言编程和结果分析。

通过此次问题的探究,培养和训练了自学能力和操作能力,获益匪浅。

【参考文献】

1、李明奇田太心《数学物理方程》电子科技大学出版社2010

2、彭芳麟《数学物理方程的MATLAB解法与可视化》清华大学出版社2004

3、彭芳麟《计算物理基础》高等教育出版社2010

4、谢进李大美《MATLAB与计算方法实验》武汉大学出版社2009

【附录】

附录1

(1)

functionjxj

N=50

t=0:

0.005:

2.0;

x=0:

0.001:

1;

ww=wfun(N,0);

ymax=max(abs(ww));

h=plot(x,ww);

axis([0,1,-ymax,ymax])

sy=[];

forn=2:

length(t)

ww=wfun(N,t(n));

set(h,'

ydata'

ww);

drawnow;

sy=[sy,sum(ww)];

end

functionwtx=wfun(N,t)

a=1;

wtx=0;

forI=1:

N

ifI~=7

wtx=wtx+((sin(pi*(7-I)*4/7)-sin(pi*(7-I)*3/7))...

/(7-I)/pi-(sin(pi*(7+I)*4/7)-sin(pi*(7+I)*3/7))...

/(7+I)/pi)*cos(I*pi*a*t).*sin(I*pi*x);

else

wtx=wtx+1/7*cos(I*pi*a*t).*sin(I*pi*x);

end

(2)

N=4010;

dx=0.0024;

dt=0.0005;

c=dt*dt/dx/dx;

x=linspace(0,1,420);

u(1:

420,1)=0;

u(181:

240,1)=sin(pi*x(181:

240)*7);

u(2:

419,2)=u(2:

419,1)+c/2*(u(3:

420,1)-2*u(2:

419,1)+u(1:

418,1));

h=plot(x,u(:

1),'

linewidth'

2);

axis([0,1,-1,1]);

set(h,'

EraseMode'

'

xor'

MarkerSize'

18);

fork=2:

XData'

x,'

YData'

u(:

2));

pause(0.1)

u(2:

419,3)=2*u(2:

419,2)-u(2:

419,1)+c*(u(3:

420,2)...

-2*u(2:

419,2)+u(1:

418,2));

419,1)=u(2:

419,2);

419,3);

附录2

functionpsi

N=50;

x=0:

ww=psi1fun1(N,0);

h=plot(x,ww,'

axis([0,1,-0.1,0.1]);

ww=psi1fun1(N,t(n));

pause(1.5)

functionwtx=psi1fun1(N,t)

fork=1:

Bk=2/(k*k*pi*pi)*(cos(3*k*pi/7)-cos(4*k*pi/7));

wtx=wtx+Bk*sin(k*pi*t)*sin(k*pi*x);

clear

N=4025;

u(180:

240,2)=dt*0.5;

pause(0.01)

-2*u(2:

(注:

文档可能无法思考全面,请浏览后下载,供参考。

可复制、编制,期待你的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1