matlab编程传热(二分法编程MATLAB)

2023-11-29 11:38:25 数码极客 bianji01

 

用matlab编写程序计算正六面体各面的辐射传热量。下面是我自己编的,运行不出来,哪位高人能给我改出来

clear;

a=5.67e+08;%黑体辐射常数

x=0.2;%角系数

b=input(pleaseinput;b=);%b为灰度

T1=input(pleaseinput;T1=);%表面1的温度

Eb1=b*a*T1^4;

T2=input(pleaseinput;T2=);%表面2的温度

Eb2=b*a*T2^4;

T3=input(pleaseinput;T3=);%表面3的温度

Eb3=b*a*T3^4;

T4=input(pleaseinput;T4=);%表面4的温度

Eb4=b*a*T4^4;

T5=input(pleaseinput;T5=);%表面5的温度

Eb5=b*a*T5^4;

T6=input(pleaseinput;T6=);%表面6的温度

Eb6=b*a*T6^4;

[Eb1,Eb2,Eb3,Eb4,Eb5,Eb6];

symsJ1J2J3J4J5J6;

[J1,J2,J3,J4,J5,J6]=solve((Eb1-J1)/(1/(A*b)-1/A)+(J2-J1)/(1/A*x)+(J3-J1)/(1/A*x)+(J4-J1)/(1/A*x)+(J5-J1)/(1/A*x)+(J6-J1)/(1/A*x)=0,...

(Eb2-J2)/(1/(A*b)-1/A)+(J1-J2)/(1/A*x)+(J3-J2)/(1/A*x)+(J4-J2)/(1/A*x)+(J5-J2)/(1/A*x)+(J6-J2)/(1/A*x)=0,...

(Eb3-J3)/(1/(A*b)-1/A)+(J2-J3)/(1/A*x)+(J1-J3)/(1/A*x)+(J4-J3)/(1/A*x)+(J5-J3)/(1/A*x)+(J6-J3)/(1/A*x)=0,...

(Eb4-J4)/(1/(A*b)-1/A)+(J2-J4)/(1/A*x)+(J3-J4)/(1/A*x)+(J1-J4)/(1/A*x)+(J5-J4)/(1/A*x)+(J6-J4)/(1/A*x)=0,...

(Eb5-J5)/(1/(A*b)-1/A)+(J2-J5)/(1/A*x)+(J3-J5)/(1/A*x)+(J4-J5)/(1/A*x)+(J1-J5)/(1/A*x)+(J6-J5)/(1/A*x)=0,...

(Eb6-J6)/(1/(A*b)-1/A)+(J2-J6)/(1/A*x)+(J3-J6)/(1/A*x)+(J4-J6)/(1/A*x)+(J5-J6)/(1/A*x)+(J1-J6)/(1/A*x)=0,...

J1,J2,J3,J4,J5,J6);

[J1,J2,J3,J4,J5,J6];

Q1=(Eb1-J1)/(1/(A*b)-1/A);

Q2=(Eb2-J2)/(1/(A*b)-1/A);

Q3=(Eb3-J3)/(1/(A*b)-1/A);

Q4=(Eb4-J4)/(1/(A*b)-1/A);

Q5=(Eb5-J5)/(1/(A*b)-1/A);

Q6=(Eb6-J6)/(1/(A*b)-1/A);

Q1=eval(Q1)

Q2=eval(Q2)

Q3=eval(Q3)

Q4=eval(Q4)

Q5=eval(Q5)

Q6=eval(Q6)

请使用上面的程序段,问题自己看看对比一下就行了!

祝你学习愉快!

本回答由提问者推荐

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

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

closeall

clear,clc

xspan=[01];

tspan=[00.2];

ngrid=[10010];

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;

ifr>0.5

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

U=zeros(ngrid);

%边界条件

U(:,1)=g1(t);

U(:,m)=g2(t);

%初值条件

U(1,:)=f(x);

%差分计算

forj=2:n

fori=2:m-1

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

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

mesh(x1,t1,U);

xlabel(x)

ylabel(t)

zlabel(T)

???AttempttoexecuteSCRIPTmeshgridasafunction.

Errorin==>Untitledat37

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

首先谢谢你,实在是太菜了,都不好意思追问你了,但是图像没出来,出来这个问题我也搞不清。只有再麻烦你了。

你用的是什么版本?

以上代码7.1以上版本都能用。

参考资料:

本回答由提问者推荐

声明:易趣百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系315127732@qq.com
广告位招租
横幅广告