第一范文网 - 专业文章范例文档资料分享平台

热传导方程C-N格式的MATLAB程序

来源:用户分享 时间:2020-06-22 本文由破灭等于拥有 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

C-N格式MATLAB编程: clear;clc;

format short e

a=input('请输入系数a的值'); l=input('请输入长度l的值');

M=input('请输入将区间[0,1]等分的个数M '); ot=input('请输入时间增量ot的值'); n=input('请输入运行次数n的值'); ox=1/M;

x0=zeros(M+1,1) for ii=1:M

x0(ii+1)=ii*ox; end

u=sin(pi*x0/l); r=a*ot/(ox)^2; for ii=1:n

%数据的输入 B=zeros(M-1,1); A=zeros(M-2,1); C=zeros(M-2,1); S=zeros(M-1,1); for ii=1:M-2

B(ii)=1+2*r;A(ii)=-r;C(ii)=-r; S(ii)=u(ii+1,1); end

B(M-1,1)=1+2*r;S(M-1,1)=u(M,1);u(1,2)=0;u(M+1,2)=0; S(1,1)=S(1,1)+r*u(1,2);S(M-1,1)=S(M-1,1)+r*u(M+1,2); %追赶法

S(1)=S(1)/B(1);T=B(1);k=2; while k~=M

B(k-1)=C(k-1)/T;

T=B(k)-A(k-1)*B(k-1);

S(k)=(S(k)-A(k-1)*S(k-1))/T; k=k+1 end k=1;

while k~=M-1

S(M-1-k)=S(M-1-k)-B(M-1-k)*S(M-k); k=k+1;

end

D=(1-r)*eye(M-1);

temp=r/2*linspace(1,1,M-2);

D=D+diag(temp,1)+diag(temp,-1); S=D*S

u(2:M,2)=S; u(:,1)=u(:,2); end

%计算精确解 for x=0:M

u(x+1,2)=exp(-(pi*a/l)^2*n*ot)*sin(pi*x*ox/l); end

fprintf('最后时刻数值解与精确解分别为');disp(u);

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育热传导方程C-N格式的MATLAB程序 全文阅读和word下载服务。

热传导方程C-N格式的MATLAB程序 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1095947.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top