MATLAB根据公式出结果图根据,现有的公式复制一份结果图,需要彩色图片

《单层方体三线圈均匀磁场源理论计算与仿真》
lear all;
M0=4 * pi1e-7;%初始化,给定环半径.电流、图形
I0 =5.0;Rh = 1;
C0=M0/(4
pi)I0;
Nx=21 ;Ny = 21;%设定观测点网格数
x=linspace(-Rh,Rh,Nx);%设定观测点范围及数组
y=linspace(-Rh,Rh,Ny);
Nh=20;%电流环分段
T0=linspace(0,2
pi,Nh+1);%环的圆周角分段
T1=T0(1:Nh);
yb=Rhcos(T1) ;
zb=Rh
sin(T1);%设置环各段向量的起点坐标yb,zb
T2=T0(2:Nh+1) ;
ye= Rhcos(T2);
ze=Rh
sin(T2);%设置环各段向量的终点坐标ye, ze
dlx=0;dly = ye-yb;dlz=ze-zb;%计算环各段向量dl的三个长度分量
xc=0;yc=(yb+ye)/2;zc=(zb+ze)/2;%计算环各段向量中点的三个坐标分量
for i=1 :Ny%循环计算各网格点上的B(x ,y)值
for j=1:Nx
rx =x(j)- xc;ry = y( i) - yc ;rz =0 -zc;%观测点在z=0平面上
r3 = sqrt( rx.^2+ry.^2 + rz.^2 ).^3 ;
dlXr_x=dly.* rz- dlz.* ry ;%计算叉乘积dlXr 的x和y的分量
dlXr_y= dlz.rx - dlx.rz;
Bx(i,j)=sum(C0
dlXr_x./r3);%把环各段产生的磁场分量累加
By(i,j)=sum(C0
dlXr_y./r3);
end
end
Bax = Bx(:,11 :21) + Bx(:,1:11);
Bay = By(:,11:21) + By(:,1:11);
subplot(1,2,1) ;
mesh(x(11:21),y,Bax);xlabel('x') ; ylabel('y');%画出其B分布三维图
subplot(1,2,2);
plot(y,Bax),grid,xlabel('y');ylabel('Bx');


clear all;
M0=4 * pi*1e-7;%初始化,给定环半径.电流、图形
I0 =5.0;Rh = 1;
C0=M0/((4*pi)*I0);
Nx=21 ;Ny = 21;%设定观测点网格数
x=linspace(-Rh,Rh,Nx);%设定观测点范围及数组
y=linspace(-Rh,Rh,Ny);
Nh=20;%电流环分段
T0=linspace(0,2*pi,Nh+1);%环的圆周角分段
T1=T0(1:Nh);
yb=acosh(T1) ;
zb=asinh(T1);%设置环各段向量的起点坐标yb,zb
T2=T0(2:Nh+1) ;
ye= acosh(T2);
ze=asinh(T2);%设置环各段向量的终点坐标ye, ze
dlx=0;dly = ye-yb;dlz=ze-zb;%计算环各段向量dl的三个长度分量
xc=0;yc=(yb+ye)/2;zc=(zb+ze)/2;%计算环各段向量中点的三个坐标分量
for i=1 :Ny%循环计算各网格点上的B(x ,y)值
    for j=1:Nx
        rx =x(j)- xc;ry = y( i) - yc ;rz =0 -zc;%观测点在z=0平面上
        r3 = sqrt( rx.^2+ry.^2 + rz.^2 ).^3 ;
        dlXr_x=dly.* rz- dlz.* ry ;%计算叉乘积dlXr 的x和y的分量
        dlXr_y= dlz.*rx - dlx.*rz;
        Bx(i,j)=sum(C0*dlXr_x./r3);%把环各段产生的磁场分量累加
        By(i,j)=sum(C0*dlXr_y./r3);
    end
end
Bax = Bx(:,11 :21) + Bx(:,1:11);
Bay = By(:,11:21) + By(:,1:11);
subplot(1,2,1) ;
mesh(x(11:21),y,Bax);xlabel('x') ; ylabel('y');%画出其B分布三维图
subplot(1,2,2);
plot(y,Bax),grid,xlabel('y');ylabel('Bx');

靠猜改了部分公式,但是画不出图1,mesh不能有复数,只有图2,忽略了虚部

img

但是都忽略虚部后的结果如下

img

题主请提供完整的代码或者想要解决的问题,因为从你给出的代码中,首先pile就没有给出具体的值,再者你的函数Rhcos的表达式没有,同时还存在其它问题:比如Rhsin、C0dlXr_x

M0=4 * pi1e-7;%初始化,给定环半径.电流、图形
I0 =5.0;Rh = 1;
C0=M0/(4*pi)*I0;
Nx=21 ;Ny = 21;%设定观测点网格数
x=linspace(-Rh,Rh,Nx);%设定观测点范围及数组
y=linspace(-Rh,Rh,Ny);
Nh=20;%电流环分段
T0=linspace(0,2*pi,Nh+1);%环的圆周角分段
T1=T0(1:Nh);
yb=Rhcos(T1) ;
zb=Rhsin(T1);%设置环各段向量的起点坐标yb,zb
T2=T0(2:Nh+1) ;
ye= Rhcos(T2);
ze=Rhsin(T2);%设置环各段向量的终点坐标ye, ze
dlx=0;dly = ye-yb;dlz=ze-zb;%计算环各段向量dl的三个长度分量
xc=0;yc=(yb+ye)/2;zc=(zb+ze)/2;%计算环各段向量中点的三个坐标分量
for i=1 :Ny%循环计算各网格点上的B(x ,y)值
for j=1:Nx
rx =x(j)- xc;ry = y( i) - yc ;rz =0 -zc;%观测点在z=0平面上
r3 = sqrt( rx.^2+ry.^2 + rz.^2 ).^3 ;
dlXr_x=dly.* rz- dlz.* ry ;%计算叉乘积dlXr 的x和y的分量
dlXr_y= dlz.rx - dlx.rz;
Bx(i,j)=sum(C0dlXr_x./r3);%把环各段产生的磁场分量累加
By(i,j)=sum(C0dlXr_y./r3);
end
end
Bax = Bx(:,11 :21) + Bx(:,1:11);
Bay = By(:,11:21) + By(:,1:11);
subplot(1,2,1) ;
mesh(x(11:21),y,Bax);xlabel('x') ; ylabel('y');%画出其B分布三维图
subplot(1,2,2);
plot(y,Bax),grid,xlabel('y');ylabel('Bx');
 


函数或变量 'Rhcos' 无法识别。

出错 tetst11 (第 143 行)
yb=Rhcos(T1) ;