房天下 > 房天下问答 > 业主生活 > 其他
  • 请教MATLAB高手,我的程序错哪里了?为什么运行不了

    %沿直线方向匀速运动的带电导线的电场 me0=8.85*10^(-12); c=3*10^8; v=1.8*10^8; L=1; %杆的长度 r=1; %定义r为电荷线密度 c1=1/sqrt(1-(v/c)^2); t=1; [x,y]=meshgrid(-2:0.2:2); EX=(r/(4*pi*me0*c1))*(1/sqrt(c1^2*(L-x+v*t)^2+y^2)-1/sqrt(c1^2*(x-v*t)^2+y^2)); EY=(r/(4*pi*me0*y))*(c1*(x-v*t)/sqrt(c1^2*(x-v*t)^2+y^2)+c1*(L-x+v*t)/sqrt(c1^2*(L-x+v*t)^2+y^2)); quvier(x,y,EX,EY) 这个程序怎么都运行不出来,请高手们帮我看看吧!帮我修改修改。 其实就是看成画适量z=EX*i+EY*j 在xy坐标系里面的图形。(i,j分别是x,y轴正方向的单位矢量。) 谢谢

    提问者:探索综合

    发布于2010-12-09

共1个回答
  • 天虹帝国 丨Lv 0
    这里面x,y是向量,按照题目意思应该是用.*和./运算,这两个运算是针对向量中的每一个元素进行运算,而你原来写的*和/则是向量运算,就造成了矩阵运算中的行列不匹配的问题。修改如下:me0=8.85*10^(-12); c=3*10^8; v=1.8*10^8; L=1; %杆的长度 r=1; %定义r为电荷线密度 c1=1/sqrt(1-(v/c)^2); t=1; [x,y]=meshgrid(-2:0.2:2); EX=(r/(4*pi*me0*c1)).*(1./sqrt(c1^2.*(L-x+v*t)^2.+y^2)-1./sqrt(c1^2.*(x-v*t)^2.+y^2)); EY=(r./(4*pi*me0.*y)).*(c1.*(x-v.*t)./sqrt(c1^2.*(x-v*t)^2+y^2)+c1.*(L-x+v*t)./sqrt(c1^2.*(L-x+v*t).^2+y^2)); quvier(x,y,EX,EY);楼主再试试看吧~
    +11 2010-12-09 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。