mikebag123 2020-10-25 21:33 采纳率: 42.9%
浏览 183

新手求助 使用matlab画点电荷电场

小弟新手第一次使用matlab老师要我们画点电荷的电场 题目附在下面
我的程式码如下

clear;close all;
k=1/(4*pi*8.85*(10^-12));
x=(-5:0.5:5)*(2*k)^0.5;
y=(-5:0.5:5)*(2*k)^0.5;
[xx,yy]=meshgrid(x,y);
r=(xx.^2+yy.^2).^0.5;
quiver(x/(2*k)^0.5,y/(2*k)^0.5,k.*xx./r.^3, k.*yy./r.^3,'AutoScale','off');
set(gca,'XTick',[-5:0.5:5]);
set(gca,'YTick',[-5:0.5:5]);
xlabel('x/Ro');
ylabel('y/Ro');
hold on;
contour(x/(2*k)^0.5,y/(2*k)^0.5,z);
plot(0,0,'ro');
grid on;
axis square;

可是出来的结果与要求不符 我只会第一题我对第二题毫无想法 请各位大老帮帮小弟我 再2天报告就要交了
图片说明
图片说明
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 23:39
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    % Set up variables
    k = 1/(4*pi*8.85e-12); % Permittivity constant
    
    % Define grid size
    dx = 0.5;
    dy = 0.5;
    
    % Define domain size
    domain_size = 5;
    
    % Define point charges
    q = 1; % Charge magnitude
    qx = 0; % X location of charge
    qy = 0; % Y location of charge
    
    % Calculate coordinates of point charges
    x = qx + q * dx;
    y = qy + q * dy;
    
    % Calculate positions of vectors R
    R = sqrt(x.^2 + y.^2);
    R = R / 2; % Normalize R to 1 unit
    
    % Calculate E-field using Gauss' law
    E_x = k * q / R;
    E_y = k * q / R;
    
    % Plot E-field
    quiver(x, y, E_x, E_y, 'Color',[0 0 1], 'LineWidth', 1.5);
    xlabel('X');
    ylabel('Y');
    title('Electric Field of Point Charge');
    axis equal;
    
    % Set up variables
    k = 1/(4*pi*8.85e-12); % Permittivity constant
    
    % Define grid size
    dx = 0.5;
    dy = 0.5;
    
    % Define domain size
    domain_size = 5;
    
    % Define point charges
    q = 1; % Charge magnitude
    qx = 0; % X location of charge
    qy = 0; % Y location of charge
    
    % Calculate coordinates of point charges
    x = qx + q * dx;
    y = qy + q * dy;
    
    % Calculate positions of vectors R
    R = sqrt(x.^2 + y.^2);
    R = R / 2; % Normalize R to 1 unit
    
    % Calculate E-field using Gauss' law
    E_x = k * q / R;
    E_y = k * q / R;
    
    % Plot E-field
    quiver(x, y, E_x, E_y, 'Color',[0 0 1], 'LineWidth', 1.5);
    xlabel('X');
    ylabel('Y');
    title('Electric Field of Point Charge');
    axis equal;
    
    评论

报告相同问题?