是matlab程序
打开matlab软件后
File-》New-》Blank M-File
然后将除了第一行的粘贴进去,保存好
在命令窗可以调用difference_temperature(Temperature_Matrix)函数,括号里面是变量,是一个矩阵,得到的结果有DT_u,DT_d,DT_f,DT_b,DT_l,DT_r
也可以在别的m文件里调用,[DT_u,DT_d,DT_f,DT_b,DT_l,DT_r]=difference_temperature(Temperature_Matrix),结果就存在左边括号里的相应变量中
晕啊,下次,把问题一次写清楚,你老补充的话我不一定能及时回答,前面回答不久等于废了。
function [DT_u,DT_d,DT_f,DT_b,DT_l,DT_r]=difference_temperature(Temperature_Matrix) %函数名翻译成温差比较好,输入是温度矩阵
[X,Y,Z]=size(Temperature_Matrix); %输入的是三维矩阵,理解成空间直角坐标系比较好
x=2:(X-1); % 因为后面要算空间相邻点的温度差,
y=2:(Y-1); % 为了便于计算,先得到这些向量
z=2:(Z-1); % 没有头和尾,也就是第一个和最后一个标号,因为要做差,第一个可以减去第二个,但是没有第零个减去第一个,
DT_u=Temperature_Matrix(x,y,z-1)-Temperature_Matrix(x,y,z);
DT_d=Temperature_Matrix(x,y,z+1)-Temperature_Matrix(x,y,z);
%DT就是温度差缩写,u是上up,依次上下、前后、左右
DT_f=Temperature_Matrix(x,y-1,z)-Temperature_Matrix(x,y,z);
DT_b=Temperature_Matrix(x,y+1,z)-Temperature_Matrix(x,y,z);
%看DT_u后面表达式,x,y均是向量,z也是向量2到Z-1,减去1就是1到
Z-2,和后面的x、y对应项相同,和z对应项小1,就是在Z坐标方向上,前一个点的温度减去后一个点的温度,同样道理,DT_d就是Z坐标方向上后一个点的温度减去前一个点温度。但是会漏掉一个Z,就是没有Z-1和Z的差,
前面让z1=1:Z-1,z2=2:Z,(x,y,z1)-(x,y,z2)就好了
DT_l=Temperature_Matrix(x-1,y,z)-Temperature_Matrix(x,y,z);
DT_r=Temperature_Matrix(x+1,y,z)-Temperature_Matrix(x,y,z);
温馨提示:答案为网友推荐,仅供参考