对于下底面和侧面绝热,上底面温度与半径平方成正比的柱体,绘制柱体内温度分布图。
这里给出两种尝试:1、散点图;2、切片云图
1. 散点图仿真
首先使用解析算法求的场解值的解析表达,其次求解Bessel函数零点,带入场解表达。对于空间点阵划分,采用每一定半径划分圆周上等数量点,在总方向复制累计。
下面给出散点图的仿真代码,Nt为划分精度,Nt越大空间划分点越多。
% function y = cal117(R,h,Nt,N) close all; clear all R = 5; h = 5; Nt = 10; %% 求bessel函数零点 pi0 = besal_pi0(0,Nt); %% 计算圆柱体分割点坐标,作为u的前三列坐标 m = 100; cot = 0; for i = 1 : 20 [x_,y_,z_] = cylinder((R*i/20),m-1); for k = 1 : m for j = 0 : 19 cot = cot + 1; u(cot,1) = x_(1,k); u(cot,2) = y_(1,k); u(cot,3) = h*j/(19); u(cot,4) = 0; %test end end end %% 计算温度值 u第四列为温度值 for i = 1 : cot for j = 1 : Nt ct(j) = 2*(R^2)*(1-4/(pi0(j)^2))/(pi0(j)*besselj(1,pi0(j))*sinh(pi0(j)*h/R)); u(i,4) = u(i,4)+ ct(j)*sinh(pi0(j)*u(i,3)/R)*besselj(0,pi0(j)*sqrt(u(i,1)^2+u(i,2)^2)/R); if(u(i,1)>10) u(i,4)=NaN; end end end %% 图像绘制 [x0,y0,z0] = cylinder(R,100); %画圆柱体轮廓 z0 = h * z0; plot3(x0(1,:),y0(