西安电子科技大学电磁场实验matlab实现

用到的一些matlab代码的基础含义(本人零基础所以写了很多基本的东西)

x = zeros(x1,x2,x3,...) % zeros返回一个 x1*x2*x3 的全零矩阵
% 比如:
x = zeros(2,3) %返回一个 2*3 的零矩阵
% 特殊的有
x = zeros(n) %返回一个n*n的零矩阵

% zeros()是一个定义矩阵的方法
x.*q.*B % 相当于矩阵各个元素相乘
x*q*B % 相当于直接乘
global % 全局变量,在多个变量中共用
syms % 符号变量,可以理解为多项式中的a,b,c这样
function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)
...
% 上述是创建一个函数,下面写函数里面的东西
% 整个函数要存在一个 .m 文件中
[t,y] = ode23(odefun,tspan,y0)
% tspan = [t0 tf])求微分方程组 y′=f(t,y) 从 t0 到 tf 的积分(也就是y)
% 初始条件为 y0。解数组 y 中的每一行都与列向量 t 中返回的值相对应。
% odefun(ode:ordinary differential equation 常微分方程) 注意实际运用的时候的形式

%下面是一个例子
tspan = [0 5];
y0 = 0;
[t,y] = ode23(@(t,y) 2*t, tspan, y0); 
% 上述的“@(t,y) 2*t”相当于定义了一个函数,也就是后面的表达式 2*t 就是这里的ode
% 而删掉 @(t,y) 会报错,暂时不知道,晓得这么用应该就可
subplot(m,n,p) % 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。
% 其实 p 就是当前图片在 mxn 网络中的位置
x(:,1) % 就是取第一列(省略取所有行)
% 创建带有公式的标题
plot(x,y,x,dy);
t = '$sin(x)$ and $\frac{d}{dx}sin(x)$'; % latex公式
title(t,'interpreter','latex')

实验一 带电粒子在电磁场中的受力与运动特性研究实验

A 基础的公式部分 matlab 函数(转化过后的一阶线性运动微分方程)

function dwt = odefun1(t,w,q,B,m,E)
dwt = zeros(6,1);
dwt(1) = w(2);
dwt(2) = q.*B.*w(4)./m;
dwt(3) = w(4);
dwt(4) = q.*E./m-q.*B.*w(2)./m;
dwt(5) = w(6);
dwt(6) = 0;

A 自拟参数三种不同 B、E 情况下的 matlab 仿真

% 带电粒子在电磁场中的运动仿真
global q m B E % 声明全局变量
% 基本参数
q=1.6e-2;   
m=0.02;
% 微分方程初始条件(即6个w0)
w0=[0,0.01,0,6,0,0.01];
% 设置区间及取值范围
tspan=[0:0.01:20];
% 设置B、E值以达到三种不同条件
B=[2,2,0];  
E=[2,0,2];  
% 设置图片将用到的标题
fig_title= {
   '$E\not = 0,B\not = 0$','$E = 0,B\not = 0$','$E\not = 0, B = 0$'};
% 利用循环画出三种B、E状态下的图片
for i=1:3    
[t,w]=ode23(@(t,w) odefun1(t,w,q,B(i),m,E(i)),tspan,w0);
subplot(1,3,i),plot3(w(:,1),w(:,3),w(:,5)); % 水平方向分三块,依次作图,w1、w3、w5就是x、y、z
grid on
title
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值