数组化编程实例1——点电荷电场演示

在这里插入图片描述
1.[X,Y] = meshgrid(x,y) :基于向量 x 和 y 中包含的坐标返回二维网格坐标
2.subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区
3.mesh(X,Y,Z)我认为的就是绘制三维的网络图吧
4.[FX,FY]= gradient(F) 返回矩阵 F 的二维数值梯度的 x 和 y 分量。
附加输出 FY 对应于 ∂F/∂y,即 y(垂直)方向上的差分。
每个方向上的点之间的间距假定为 1。

5.quiver(x,y,u,v) 在 x 和 y 中每个对应元素对组所指定的坐标处将向量绘制为箭头。矩阵 x、y、u 和 v 必须大小相同并包含对应的位置和速度分量。
6.contour矩阵的等高线图

%点电荷电场的可视化
%抄写byTTY

clear all;
close all;
clc

%--参数设定及自变量取样--
q=1.6e-19;%点电荷电量
C0=1/(4*pi*8.85e-12);%合并系数,
                     %C0=1/(4*Π*ε0)
                     %ε0:真空介电常数
 
x=-5:0.3:5;%自变量
y=x;%自变量

%--求解电势--
[X,Y]=meshgrid(x,y);%自变量坐标矩阵
r=sqrt(X.^2+Y.^2);
U=q.*C0*(1./r);

%--绘图--
subplot(2,2,1)
mesh(X,Y,U);
xlabel('x');
ylabel('y');
zlabel('U');
title('点电荷电势分布图');

%--对数坐标绘图--
subplot(2,2,3)
mesh(X,Y,log10(U));
xlabel('x');
ylabel('y');
zlabel('log10(U)');
title('点电荷电势分布图')
%--场强分布--
[Ex,Ey]=gradient(-U);%求电场强度
AE=sqrt(Ex.^2+Ey.^2);
Ex=Ex./AE;
Ey=Ey./AE;
subplot(2,2,2)
quiver(X,Y,Ex,Ey)%场强绘制
hold on;
cs=contour(X,Y,U,60);%绘制等电势面
xlabel('x');
ylabel('y');
title('点电荷电场强度分布图');

在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值