Matlab绘制电场线向量,为什么全是点?我写的程序function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标v=-2:0.1:2;[x,y]=meshgrid(v,v);%做出定义域q=1.6*10^(-19);%电子电量,略小ep=8.85*10^(-12);q1=-q;q2=-q;q3=2*q;%代

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 16:29:49
Matlab绘制电场线向量,为什么全是点?我写的程序function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标v=-2:0.1:2;[x,y]=meshgrid(v,v);%做出定义域q=1.6*10^(-19);%电子电量,略小ep=8.85*10^(-12);q1=-q;q2=-q;q3=2*q;%代

Matlab绘制电场线向量,为什么全是点?我写的程序function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标v=-2:0.1:2;[x,y]=meshgrid(v,v);%做出定义域q=1.6*10^(-19);%电子电量,略小ep=8.85*10^(-12);q1=-q;q2=-q;q3=2*q;%代
Matlab绘制电场线向量,为什么全是点?

我写的程序
function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标
v=-2:0.1:2;
[x,y]=meshgrid(v,v);%做出定义域
q=1.6*10^(-19);%电子电量,略小
ep=8.85*10^(-12);
q1=-q;q2=-q;q3=2*q;%代入题目要求
plot(0,z1,'*',0,0,'*',0,z2,'*');%画出电子位置,用*表示
hold on
phi=4.*pi.*ep.*(q1./(sqrt(x.^2+(y-z1).^2))+q2./(sqrt(x.^2+y.^2))+q3./(sqrt(x.^2+(y-z2).^2)));%代入电势phi的计算公式
[dx,dy]=gradient(phi);%用gradient函数计算phi的梯度
contour(x,y,phi);%画出等势线
quiver(x,y,dx,dy,'MaxHeadSize',1.2);%画出电场向量
colormap hsv
hold off
end%结束函数

为什么没有向量的箭头?

Matlab绘制电场线向量,为什么全是点?我写的程序function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标v=-2:0.1:2;[x,y]=meshgrid(v,v);%做出定义域q=1.6*10^(-19);%电子电量,略小ep=8.85*10^(-12);q1=-q;q2=-q;q3=2*q;%代
程序没有什么错,只是画线时数据要归一化才能显示出来


function [m] = f(z1,z2)%定义函数,z1,z2分别为q1,q3的z坐标
v=-2:0.1:2;
[x,y]=meshgrid(v,v);%做出定义域
q=1.6*10^(-19);%电子电量,略小
ep=8.85*10^(-12);
q1=-q;q2=-q;q3=2*q;%代入题目要求
plot(0,z1,'*',0,0,'*',0,z2,'*');%画出电子位置,用*表示
hold on
phi=4.*pi.*ep.*(q1./(sqrt(x.^2+(y-z1).^2))+q2./(sqrt(x.^2+y.^2))+q3./(sqrt(x.^2+(y-z2).^2)));%代入电势phi的计算公式
phiM=4*pi*ep*(q1/(sqrt(2^2+(2-z1)^2))+q2/(sqrt(2^2+2^2))+q3/(sqrt(2^2+(2-z2)^2)));%代入电势phi的计算公式
dv = linspace(-phiM,phiM,10); 
contour(x,y,phi,dv,'k-');%画出等势线


[dx,dy]=gradient(phi);
d=sqrt(dx.^2+dy.^2);
dx=dx./d;
dy=dy./d;
hold on;
quiver(x,y,dx,dy);


colormap hsv
hold off
end%结束函数


>>f(1,-1)