用MATLAB计算点电荷的电场的问题这个程序有什么问题,为什么老是提示“Missing variable or function.”clear allep0=8.85*e-12;c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str{1}='两同号等量点电荷';str{2}=

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 17:11:04
用MATLAB计算点电荷的电场的问题这个程序有什么问题,为什么老是提示“Missing variable or function.”clear allep0=8.85*e-12;c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str{1}='两同号等量点电荷';str{2}=

用MATLAB计算点电荷的电场的问题这个程序有什么问题,为什么老是提示“Missing variable or function.”clear allep0=8.85*e-12;c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str{1}='两同号等量点电荷';str{2}=
用MATLAB计算点电荷的电场的问题
这个程序有什么问题,为什么老是提示“Missing variable or function.”
clear all
ep0=8.85*e-12;
c0=1/(4*pi*ep0);
e=1.6e-10;
h=0.018;
x=-0.5:h:0.5;
y=-0.5:h:0.5;
str{1}='两同号等量点电荷';
str{2}='两同号不等量点电荷';
[X,Y]=meshgrid(x,y);
q=[e;1.9*e];
for i=1:2
V=c0*e./sqrt((X+0.2).^2+Y.^2)+c0.*q(i)./sqrt((X-0.2).^2+Y.^2);
[Ex,Ey]=gradient(-V,h);
figure(i)
counter(X(:,:,1),Y(:,:,1),V,...[20,-20,19,-19,18,-18,17,-17,16,-16,15,-15,14,-14,13,-13,12,-12,11,-11,10,-10],'r');
axis([-0.38,0.38],[-0.28,0.28])
hold on
phi=0:pi/17:2*9i;
sx1=0.2+0.01*cos(phi);
sy1=0.01*sin(phi);
streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);
hold on
sx2=-0.2+0.01*cos(phi);
sy2=0.01*sin(phi);
streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2);
title(str(i))
text(-0.215,0,'+','fontsize',20);
text(0.185,0,'+','fontsize',20);
end
文件名这个问题改了以后,又出现一个问题:Line:17 Column:36
Incomplete or misformed expression or statement.

用MATLAB计算点电荷的电场的问题这个程序有什么问题,为什么老是提示“Missing variable or function.”clear allep0=8.85*e-12;c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str{1}='两同号等量点电荷';str{2}=
这是不是在集成环境下的,在集成环境下运行要求保存的文件名不能有中文
现在又在电脑上试了一下,原来不只是中文的问题.
你的第二行ep0=8.85*e-12错了,应该没有*号,ep0=8.85e-12才对,这就是变量e报错的原因.
另外你后面又定义了一个变量e,e=1.6e-10,这里两个e的意思不一样,会不会搞混了啊,我建议把变量e换一个名字表示.
还有axis([-0.38,0.38],[-0.28,0.28])也错了,应该是axis([-0.38,0.38,-0.28,0.28]).
最后只剩下一个问题了,就是Line:17 Column:36
Incomplete or misformed expression or statement.
问题肯定是counter(X(:,:,1),Y(:,:,1),V,...[20,-20,19,-19,18,-18,17,-17,16,-16,15,-15,14,-14,13,-13,12,-12,11,-11,10,-10],'r');
把这行删了就可以正常运行,我对counter函数不太了解,反正肯定是这行出错了,你再查查counter函数的用法,我也不知道你用counter想干什么,也不好修改.我把你的程序修改之后是这样的(变量e换成了ex):
clear all
ep0=8.85e-12;
c0=1/(4*pi*ep0);
ex=1.6e-10;
h=0.018;
x=-0.5:h:0.5;
y=-0.5:h:0.5;
str{1}='两同号等量点电荷';
str{2}='两同号不等量点电荷';
[X,Y]=meshgrid(x,y);
q=[ex;1.9*ex];
for i=1:2
V=c0*ex./sqrt((X+0.2).^2+Y.^2)+c0.*q(i)./sqrt((X-0.2).^2+Y.^2);
[Ex,Ey]=gradient(-V,h);
figure(i)
%counter(X(:,:,1),Y(:,:,1),V,...[20,-20,19,-19,18,-18,17,-17,16,-16,15,-15,14,-14,13,-13,12,-12,11,-11,10,-10],'r'); 这行有问题
axis([-0.38,0.38,-0.28,0.28])
hold on
phi=0:pi/17:2*9i;
sx1=0.2+0.01*cos(phi);
sy1=0.01*sin(phi);
streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);
hold on
sx2=-0.2+0.01*cos(phi);
sy2=0.01*sin(phi);
streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2);
title(str(i))
text(-0.215,0,'+','fontsize',20);
text(0.185,0,'+','fontsize',20);
end

用MATLAB计算点电荷的电场的问题这个程序有什么问题,为什么老是提示“Missing variable or function.”clear allep0=8.85*e-12;c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str{1}='两同号等量点电荷';str{2}= 涡旋电场的场强计算空间中有个垂直与纸平面的磁场变化 在纸平面上有一个点电荷,这个点电荷的受力?这个点电荷的场强?涡旋电场有场强公式么 为什么这个电场不可能是负点电荷的电场,是因为电场线不是直线么 在点电荷形成的电场中做功如何计算能否用点电荷场强的电势差公式乘以物体所带电荷量计算 无限大金属板与点电荷组成系统的带电量问题~.为什么电场线全被板接收?我大二物理系的,书上有这个题,我很赞成无限大板带电为q,但不懂为什么点电荷发出的电场线全被板接受 点电荷在其本身位置的电场和电势计算那如果是一个微小的带点面元呢?这个又要怎么计算 高中物理电学问题.书上说电场力对点电荷做功是W=qEl,E是电场强度,我的问题是电场强度不是会随着点电荷的位置改变而改变吗?也就是说点电荷的受力不应该是时刻改变的吗?为什么能用这个 点电荷沿电场线运动的条件 点电荷沿电场线运动的条件 电场线方向问题一簇不平行的电场线,一个点电荷在某条电场线上,问能否确定电场线方向,方向向哪 电势φ=kQ/r 这个公式的适用范围是所有电场还是真空点电荷的电场?同上, 谁能给解释一下这个点电荷的电场强度公式是怎样得来的 点电荷与带电金属板的电场线分布点电荷发出的电场线为什么垂直 金属板 为什么点电荷受电场力的方向沿电场线方向,故此点电荷为正电荷? 关于matlab计算表达式的问题.求教! 只受电场力作用的点电荷,在电场中可能做匀速圆周运动,这时的运动轨...只受电场力作用的点电荷,在电场中可能做匀速圆周运动,这时的运动轨迹与电场线处处垂直 电势是点电荷在电场中具有的势.那么,定义中的电场是指该点电荷的电场还是别的点电荷的电场呢 对于一个点电荷产生的电场,以这个点电荷为圆心,任意半径画圆,那么,这个圆上的每一个点都是等势点,是吗?为什么?