用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以上版本都能用。
参考资料:
本回答由提问者推荐