matlab关于传热学差分求解,纯新手,度娘的程序,怎么才能得出最后的图像来?

matlab关于传热学差分求解,纯新手,度娘的程序,怎么才能得出最后的图像来?,第1张

将你的程序整合调整修改了一下。

close all

clear,clc

c=1

xspan=[0 1]

tspan=[0 0.2]

ngrid=[100 10]

f=@(x) 4.*x-4*x.^2

g1=@(t) 0.*t

g2=@(t) 0.*t

n=ngrid(1)

m=ngrid(2)

h=range(xspan)/(m-1)

x=linspace(xspan(1),xspan(2),m)

k=range(tspan)/(n-1)

t=linspace(tspan(1),tspan(2),n)

r=c^2*k/h^2

s=1-2*r

if r>0.5

error%('为了保证算法的收敛,请增大步长 h或减小步长k!')

U=zeros(ngrid)

else

% 边界条件

U(:,1)=g1(t)

U(:,m)=g2(t)

% 初值条件

U(1,:)=f(x)

% 差分计算

for j=2:n

for i=2:m-1

U(j,i)=s*U(j-1,i)+r*(U(j-1,i-1)+U(j-1,i+1))

end

end

end

[x1,t1]=meshgrid(x,t)

mesh(x1,t1,U)

xlabel('x')

ylabel('t')

zlabel('T')

1、首先要打开MATLAB R2016a软件,如下图所示。

2、然后在打开的页面中,选择默认模式(Generic Scalar)-标量模式,具体如图。

3、建立几何模型,绘制两个椭圆,再定义边界条件,具体如图所示

4、再定义PDE类型和系数,如下图所示。

5、并将其三角形网格化,具体如图所示。

6、最后可以对PDE图形进行求解了,如图所示就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11496320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存