当前位置:文档之家› 电磁学习题的MATLAB解法

电磁学习题的MATLAB解法

电磁学习题的MATLAB解法
电磁学习题的MATLAB解法

电磁学

一、

1、点电荷的电场

研究真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。

V =V 1+V 2=

1

01r 4q πε+

2

024q r πε

2、程序实现

主程序文件名为point.m clear all

ep0=8.85*le-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*pi; %以下画电场线 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 3、程序

二、带电细棒的电场

1、若电荷Q 均匀分布在长为L 的细棒上,求真空中,带电细棒的电场在xy 平面内的分布情况。

()

[

]

2

2

04d l y x dq

V -+=

πε

()

[

]

?--+=2

/2

/2

2

04L L l y x dy

V πελ

2、程序实现

主程序文件名为el.m clear all

lam=le-9; %带电棒的电荷线密度 ep0=8.85*le-12; %真空中的电容率 c0=lam/(4*pi*ep0); %归并常数 Lh=3; %带电棒长度为2Lh x=-6.5:0.11:6.5; y=-5.5:0.11:5.5; l=-Lh:0.1:Lh;

[X,Y,L]=meshgrid(x,y,l); r=sqrt((Y-l).^2+x.^2); dv=c0./r;

v=pi/40*trapz(dv,3); %求电势 [Ex,Ey]=gradient(-v,0.2); %求电场 figure

axis([-6,6,-5,5]);

L=line([0,0],[-3,3],’color ’,’r ’,’linestyle ’,’-‘,’linewidth ’,5.5); %画带电棒 hold on

contour(X(:,:,1),Y(:,:,1),v,[6,8,10,12,14,16,18,20,22,24,26,28,30,32],’g ’)%画电势分布 hold on sx=0.2;

sy=[-3.2:,0.4:3.2];

[Sx,Sy]=meshgrid(sx,sy); %计算电场线起点 streamline(X(:,:,1),Y(:,:,1),Ex,Ey.Sx.Sy) %利用对称性画电场线 hold on;

streamline(X(:,:,1),Y(:,:,1),-Ex,Ey,-Sx,Sy); xlabel(‘x ’); ylabel(‘y ’);

title(‘带电细棒的电势及电场分布’) 3、程序

三、带电圆环的电场

1、真空中,一个半径为R 的圆形细环上,均匀分布电贺Q ,求其电场强度的分布。

2、程序实现 主程序的文件名为ering.m clear all

lam=le-9; %带电环的电荷线密度 ep0=8.85*le-12; %真空中的电容率 c0=lam/(4*pi*ep0); %归并常数 R=1.2; %带电环半径 y=-6:0.11:6; z=-6:0.11:6;

phi=0:pi/20:2*pi;

[Y,Z,PHI]=meshgrid(y,z,phi);

r=sqrt((R*cos(PHI).^2+(Y-R*sin(PHI).^2+Z.^2); dv=c0./r;

V=pi/40*trapz(dv,3); %求电势 [Ey,Ez]=gradient(-V,0.2); %求电场 figure

axis([-5,5,-5,5]);

line(R,0,’marker ’,’.’,’markersize ’,25,’color ’,’k ’); %画带电环的yz 截面 line(-R,0,’marker ’,’.’,markersize ’,25,’color ’,’k ’); hold on

contour(Y(:,:,1),Z(:,:,1),V,[2,4,6,8,10,12,14,16,18,20,22,24,28,30,32],’g ’)%画电势分布 hold on sz=0,1;

sy=[0.3:0.15:1.5];

[Sy,Sz]=meshgrid(sy,sz); %计算电场线分布 streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,Sy,Sz); streamline(-Y(:,:,1),Z(:,:,1),-Ey,Ez,-Sy,Sz); streamline(-Y(:,:,1),-Z(:,:,1),-Ey,-Ez,-Sy,-Sz); streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,Sy,-Sz); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,0,0); streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,0,0); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,1.5,0); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,-1.5.0); xlabel(‘y ’); ylabel(‘z ’);

title(‘带电圆环的电势及电场分布’) 3、程序

四、载流圆环的磁场

()()?+-+-=π

???λπε202220sin cos d 41z R y R x R V

1、在真空中,在一个半径为R的载流导线,通过的电流I,试求此载流圆环磁感强度B的空间分布。

2、程序实现

主程序的文件名为:bring.m

clear all

I0=1e2; %载流圆环中的电流

mu0=4*pi*1e-7; %真空中的磁导率

c0=I0*mu0/(4*pi); %归并常数

R=1.5; %载流圆环半径

y=-2:0.04:2;

z=-2:0.04:2;

phi=0:pi/40:2*pi;

[Y,Z,PHI]=meshgrid(y,z,phi);

r=sqrt((R*cos(PHI).^2+(Y-R*sin(PHI).^2+Z.^2);

r3=r.^3;

dBy=c0*R*Z.*sin(PHI))./r3;

dBz=c0*R*(R-Y.*sin(PHI))./R3;

By=pi/20*trapz(dBy,3);

Bz=pi/20*trapz(dBz,3);

B=sqrt(By.^2+Bz.^2);

figure

axis([-2,2,-2,2]);

line(R,0,’marker’,’.’,’marker size’,30,’color’,’r’); %画载流圆环的yz截面

line(-r,0,’marker’,’.’,’markersize’,30,’color’,’r’);

hold on

sz=0;

sy=[0.11:0.13:1.28];

[Sy,Sz]=meshgrid(sy,sz); %计算磁场线起点

streamline(Y(:,:,1),Z(:,:,1),By,Bz,Sy,Sz); %利用对称性画磁场线streamline(-Y(:,:,1),Z(:,:,1),-By,Bz,-Sy,Sz);

streamline(-Y(:,:,1),Z(:,:1),-By,-Bz,-Sy,-Sz);

streamline(Y(:,:,1),-Z(:,:,1),By,-Bz,Sy,-Sz);

title(‘载流圆环磁场分布图’)

xlabel(‘y’);

ylabel(‘z’);

figure

subplot(2,2,1)

mesh(Y(:,:,1),Z(:,:,1),By)

title(‘磁场y分量’)

xlabel(‘y’);

ylabel(‘z’);

subplot(2,2,2)

mesh(Y(:,:,1),Z(:,:,1),Bz)

title(‘磁场z分量’)

xlabel(‘y’)

ylabel(‘z’)

subplot(2,2,3)

mesh(Y(:,:,1),Z(:,:,1),B);

title(‘载流圆环磁场大小分布图’)

xlabel(‘y’);

ylabel(‘z’);

zlabel(‘B’);

3、程序

五、带电粒子在电磁场中的运动

1、有均匀电场E和均匀磁场B两者方向互相垂直,分三种情况研究带电粒子在其中的运动情况。(1)电场强度和磁感应强度都不为零;(2)电场强度为零,磁感应强度不为零;(3)电场强度不为零,磁感应强度为零。

2、程序实现

主程序的文件名为:eb.m

clear all

q=1.6e-27; %设定参数

m=2e-27;

B=[3;1;0]; %磁感强度

E=[1;0;1]; %电场强度

str{1}=’E’\neq0,B\neq0’; %用于标示的基元矩阵

str{2}=’E=0,B\neq0’;

str{3}=’E\neq0,B=0’;

for i=1:3

[t,y]=ode23(‘ebfun,’[0:0.1:50],[0,0.1,0,0.1,0,6],…

[],q,m,B(i),E(i)); %求解方程

figure(i)

set(gct,’unit’,normalized’,’position’,[0.1+i*0.1 0.01+i*0.1 0.5 0.5]);

comet3(y(:,1),y(:,3),y(:,5));

hold on

box on

plot3(y(:,1),y(:,3),y(:,5),’color’,’b’);

grid on

xlabel(‘x’);

ylabel(‘y’);

zlabel(‘z’);

title(str{i});

end

函数文件是一个独立文件,文件名是:ebfun.m

function ydot=ebfun(t,y,flag,q,m,B,E)

ydot=[y(2);

-q*B*y(6)/m;

y(4); 0; y(6); q*E/m+q*B*y(2)/m]; 3、程序 六 1、电荷量都是Q 的两个固定点和相距l ,另有质量m 的电荷q 在他们中点O 以某一初速度沿中垂线x 运动,试描述q 与Q 同号和异号时电荷q 做怎样的运动?(忽略重力) 2、程序实现 clear

tspan=[0 10]; %设定积分时间

y0=[0 0.1]'; %初时条件t=0,电荷从x=0以v=0.1出发 [t,y]=ode23('dhyd',tspan,y0); %求解名为“dhyd"的微分方程 subplot(2,1,1)

plot(t,y(:,1),'k'); %位置对时间的曲线图 xlabel('时间/s');ylabel('位置/m'); subplot(2,1,2)

plot(t,y(:,2),'b'); %速度对时间的曲线图 xlabel('时间/s');ylabel('速度/m/s'); ~~~~~~

function yp=dhyd(t,y)

%yp=[y(2) -y(1)./(y(1).^2+2.5e-5)^(3/2)]';%异号电荷的运动微分方程 yp=[y(2) y(1)./(y(1).^2+0.25)^(3/2)]';%同号电荷的运动微分方程 3、程序 code\xt22.m 七

1、三个电荷量相等的电荷q 固定在一边长a=1米的等边三角形的顶点上试编写一段计算机程序,画出三电荷系统x 轴线上的电势分布。

()???????

?

???????

?-???

?

??-+=

x a x a q V 12342

4x 2

2

πε 2、程序实现

clear

a=1; %输入参数

x=[0.1:0.01:6]; %设定轴线上的位置

V=2./sqrt((a^2)/4+(x-(a/2)*sqrt(3)).^2)-1./x; %计算轴线上的电势分布 plot(x,V,'b',[0,6],[0,0],'k') %画轴线上电势曲线 xlabel('x/m');ylabel('V/V') grid

[Um,n]=max(V); %取出电势极大值及其序号 xm=0.01*(n-1)+0.1 %求电势极大值的位置 3、程序 code\xt23.m 八

1、在zOy 平面上有一半径为R 的圆环,均匀带有电荷量q 。试用作图的方法求圆环轴线(Ox 轴)上的电场强度和电势的分布,并讨论在什么位置它们有极大值。

(

)

2

32

204qx

R

x E +=

πε

2

2

4R

x q V +=

πε

2、程序实现

R=0.1; %设半径R=0.1 x=(-8:0.001:8)*R; %轴线上的位置

E=x./(R^2+x.^2).^(3/2); %计算轴线上的电场强度分布 V=1./sqrt(R^2+x.^2); %计算轴线上的电势分布 subplot(2,1,1)

plot(x,E,[-0.8 0.8],[0 0],'k',[0 0],[-40 40],'k') %画轴线上电场强度曲线 xlabel('x/m');ylabel('E/V/m');

[Em,n]=max(E) %取出电场强度极大值及其序号 xm=R*((n-1)*0.001-8) %求电场强度极大值的位置 subplot(2,1,2)

plot(x,V,[0 0],[0 10]) %画轴线上电势曲线 xlabel('x/m');ylabel('V/V'); 3、程序 code\xt24.m 九

1、有一半径为R 的圆环,均匀带有电荷量q 。试编写MATLAB 程序来求圆环平面内径向电势的分布曲线。

?

--+=

22

2

2

02

sin 24q

π

πθ

θ

ε

πRa a R d V

2、程序实现 clear global a; for i=1:500;

a=(i-1)/5000;

r(i)=a; %面内的径向位置 U=quadl('ydch',-pi/2,pi/2); %对设定点作积分 V(i)=U/pi; %设定点的电势 end plot(r,V)

xlabel('a/m');ylabel('V/W') ~~~~~~

function y=ydch(sida) global a; R=0.1;

y=1./sqrt(R^2+a^2+2*R*a*sin(sida)); 3、程序 code\xt25.m 十

1、设气体放电形成的等离子体在圆柱体内的电荷分布可用下式表示

()2

2

1r ???

????

???

?

??+=

a r ρρ

式中,r 是到圆柱体轴线的距离;0ρ是轴线处的提点和密度;a 是常数。 (1)试计算半径为r 的圆柱体内的电荷;

(2)用图形描绘电场强度的分布,在什么位置有最大值。

???

?

???????? ??+=r

a r rdr

l q 0

2

2

012π

ρ

(

)

2

202

02a

r r

a E +=

ερ

2、程序实现

%等离子体内的电荷量

f=('x/(1+(x/a)^2)^2'); %积分函数 jf=int(f,0,'r') %积分计算

%等离子体内的电场分布

k=0:0.01:10; % r=ka E=k./(k.^2+1); %电场函数 plot(k,E)

xlabel('k(r=ka)') ylabel('E/(ρoa/2εo)') 3、程序

code\xt261.m code\xt262.m

十一

1、载流圆环的半径为R ,电流为I ,问该圆线圈的半径R 为多少时,轴线上距圆线圈中心

r 处的磁感应强度B 能达到最大值?

()

2

/3202012k

k

r I B +=

μ

2、程序实现

k=(0.1:0.1:10); %比例系数k 的范围

B=k.^2./((k.^2+1).^(3/2)); %写入磁感应强度B 的计算式 plot(k,B) %画B-k 曲线 xlabel('k');ylabel('B');

[B,n]=max(B); %找出最大B 的序号

Kmax=(n-1)*0.1+0.1 %将最大的序号换算为k 值 3、程序 code\xt27.m

十二

1、载流正方形线圈的边长为2a ,电流为I ,问该正方形线圈的边长为多长是,轴线上距

r 处的磁感应强度能达到最大值?

(

)()

2

/122

02

02112k k

r Ik

B ++=

πμ

2、程序实现

%载流正方形线圈轴线上的磁感应强度积分 f=('1/(x^2+ro^2+a^2)^(3/2)'); %积分函数 jf=int(f,'-a','a') %积分计算

%载流正方形线圈轴线上的磁感应强度

k=(0.1:0.1:10); %比例系数k 的范围

B=k.^2./((k.^2+1).*sqrt(1+2*k.^2)); %写入磁感应强度B 的计算式 plot(k,B) %画B-k 曲线

xlabel('k');ylabel('B');

[B,n]=max(B); %找出最大B 的序号

Kmax=(n-1)*0.1+0.1 %将最大的序号换算为k 值 3、程序

code\xt281.m code\xt282.m

十三、 1、载有电流

1I 的长直导线旁有一边长为2a 的正方形线圈,载有电流2I ,该正

方形线圈中心到导线的垂直距离为b ,电流方向如图所示。线圈可绕平行于导线的轴线21O O 转动,试求线圈所受到的的磁力矩的大小,并讨论磁力矩与转动角度的关系。

??

? ??-++++=ααπαμcos 21sin 21sin a 2

222212

0ab b a ab b a I I M 2、程序实现

a=1;b=1.5; %设定参数 sita=0:0.01:2*pi; %转动角度(弧度)

angle=180*sita/pi; %角度转换为度作单位

M=sin(sita).*(1./(a^2+b^2+2*a*b*cos(sita))+1./(a^2+b^2-2*a*b*cos(sita)));%计算力矩

plot(angle,L,[0 400],[0 0],'k') %画力矩与转动角度曲线 xlabel('角度');ylabel('力矩'); grid 3、程序 code\xt30.m

十四

1、一质量为m ,电荷量为q 的粒子以速度0v 沿y 方向进入一均匀磁场B ,磁场沿z 方向,在这个磁场空间中粒子受到与速度成正比的阻力kv f -=,k 为阻尼系数。求该带电粒子的轨迹以及最终停在什么位置上。

2、程序实现 clear

global c1 c2 v; %定义全局变量

c1=10; %设定带电粒子的质量,电荷和磁场关系c1=qB/m c2=2; %设定阻尼项系数和质量关系速度c2=k/m tspan=[0 200]; %设定积分时间

y0=[0 0 0 2000]'; %初时条件t=0,x=0,Vxo=0,y=0,Vyo=v

[t,y]=ode23('dhcch',tspan,y0); %求解名为“dhcch"的微分方程组

plot(y(:,1),y(:,3),'b'); %描绘出带电粒子在有阻尼的均匀磁场中的运动轨迹

xlabel('x');ylabel('y'); hold on

xTz=c1*v/(c2^2+c1^2) %计算正电荷的最终位置xT yTz=c2*v/(c2^2+c1^2) %计算正电荷的最终位置yT c1=-10; %改变带电粒子的电荷符号 y0=[0 0 0 1000]'; %负电荷的初时条件 [t,y]=ode23('dhcch',tspan,y0);

plot(y(:,1),y(:,3),'k'); %重绘带电粒子的运动轨迹 xTf=c1*v/(c2^2+c1^2) %计算负电荷的最终位置xT yTf=c2*v/(c2^2+c1^2) %计算负电荷的最终位置yT ~~~~~~~~

function yp=dhcch(t,y)

global c1 c2 v; %定义全局变量

yp=[y(2) -c2*y(2)+c1*y(4) y(4) -c2*y(4)-c1*y(2)]'; %写入微分方程 3、程序 code\xt31.m

十五

1、一根很长的同轴电缆由半径为a 的圆柱体与内半径为b 、外半径为c 的同心圆柱壳组成,电缆中央的导体上载有稳定电流I ,再经外层导体返回,形成闭合回路。试计算单位长度的一段电缆内的磁场所储藏的能量。设mm a 1=,

mm b 4=,mm c 5=,A I 10=。

单位长的导体芯线内的磁场能量为πμ162

01l

I W =

单位长两柱体间的磁能为a b I

W ln

42

02π

μ=

单位长外层导体内的磁能为

()

??

?

?

?-+--=

4

22222

22

2

2

0343ln 416b c b c b c c b

c

I

W π

μ 2、程序实现

%电缆内的磁场所储藏的能量

a=10^(-3);b=4*10^(-3);c=5*10^(-3); %设定电缆的大小 I=10;mu=4*pi*10^(-7); %设定参数 %以下计算各部分的磁场能量 W1=mu*I*I/(16*pi)

W2=mu*I*I*log(b/a)/(4*pi)

W3=mu*I*I*(4*c^4*log(c/b)-3*c^4+4*b^2*c^2-b^4)/(16*pi*(c^2-b^2)^2) W=W1+W2+W3 3、程序 code\xt36.m

十六

1、如图所示,在T B 5.0=,方向垂直于轨道向下的均匀磁场中,有一长为

m l 1=、质量为kg m 1.0=的金属杆,沿一倾角为o

30=α金属滑杆由静止下

滑,若滑道与自感H L 1.0=的线圈相连,(1)试编写一计算机程序,考察该金属杆的运动速度及线圈内的电流随时间的变化关系;(2)如果改变自感系数L 的大小,金属杆的运动速度及线圈内的电流将如何变化?

2、程序实现

%金属杆的运动速度及线圈内电流 clear

global m a L g sita B; %定义全局变量 m=0.1;a=1;L=0.1;g=9.8;sita=pi/6;B=0.5; %输入已知条件 tspan=[0 10]; %设定积分时间

y0=[0 0]'; %初时条件:金属杆从静止下落 [t,y]=ode23('indctn',tspan,y0); %求解名为“indctn"的微分方程 subplot(2,1,1)

plot(t,y(:,1),'k'); %下落速度对时间的曲线图 axis([0 10 -5 5])

xlabel('时间/s');ylabel('下落速度/m/s'); subplot(2,1,2)

plot(t,y(:,2),'b'); %下落电流对时间的曲线图 xlabel('时间/s');ylabel('线圈电流/A'); ~~~~~~~

%感应线运动的微分方程:m(dv/dt)=mgsin α-BaI; L(dI/dt)=Bav function yp=indctn(t,y)

global m a L g sita B; %定义全局变量 %写入金属杆运动和回路电流的微分方程 yp=[g*sin(sita)-B*a*y(2)/m B*a*y(1)/L]'; 3、程序 code\xt32.m

十七

1、在上题中如果将与滑道相连的自感线圈改为一个Ω=5.0R 的电阻,其他条件不变,(1)试编写一计算机程序,考察该金属杆的运动速度及线圈内的电流随时间的变化关系;(2)如果改变电阻R 的大小,金属感的运动速度及线圈内的电流将如何变化?

2、程序实现

%金属杆运动的微分方程:m(dv/dt)=mgsin α-(Ba)^2v/R clear

m=0.1;a=1;g=9.8;sita=pi/6;B=0.5; %输入已知条件 R=0.5;

vmax=m*g*R*sin(sita)/(B*a)^2 %计算最大速度 f='1/(g*sin(sita)-(B*a)^2*x/(m*R))'; %积分函数 tt=int(f,0,'v'); %作积分 v=[0:0.01:0.99*vmax];

t=eval(tt); %计算相应于0~0.99*vmax 的时间 I=B*a*v/R; %计算相应于0~0.99*vmax 的电流 subplot(2,2,1) plot(t,v)

xlabel('t/s');ylabel('v/m/s') subplot(2,2,2) plot(t,I)

xlabel('t/s');ylabel('I/A') 3、程序 code\xt33.m

十八

1、已知在均匀磁场0B 中圆盘以角速度ω转动时,其边缘与中心轴产生的感应

电动势为

2

2

1B r i ωε=

,式中,r 是圆盘半径。如果把这个圆盘至于一个长直

线圈中,线圈的一端用电刷与圆盘半径相连,另一端与圆盘的中心轴相连,圆盘的轴线与线圈的中心轴重合,那么圆盘发电机与线圈构成一回路,如图所示。

假设线圈的电阻为R ,每单位长度有n ,外磁场0B 即是地球磁场,且线圈的中心轴与地球磁场平行,试分析线圈中的电流I 与转速ω的关系。

ωμω

2

02

02r nr R B I -=

2、程序实现 clear

B0=50*10^(-6); %设定地磁场大小 r=0.05; %园盘半径 R=10; %回路电阻 n=1000; %线圈圈数 u0=4*pi*10^(-7); %磁导率 wc=2*R/(u0*n*r*r) %临界转速

w=-5*10^7:10^4:10^8; %转速变化范围 I=B0*r*r*w./(2*R-u0*n*r*r*w+eps);%计算回路电流 plot(w,I,[-5*10^7 10^8],[0 0],'k',[0 0],[-80 60],'k') xlabel('角速度 w/rad/s') ylabel('电流 I/A') 3、程序 code\xt34.m

十九

1、如果将上题中的两个发电机耦合起来,如图所示,让其中一个产生的电流流过另一个线圈,并提供发电机所必须的磁场。试对该装置两个回路中的电流特性作一分析讨论。

2、程序实现

%双园盘发电机的混沌解 clear

tspan=[0 130]'; %积分时间 y0=[1 1 0]; %初始条件 [t,y]=ode23('bidisk',tspan,y0); %解微分方程 subplot(2,1,1)

plot(t,y(:,1)) %画回路1中的电流对时间的曲线 axis([0 130 -15 15]) xlabel('时间 t')

ylabel('回路1中的电流 I')

subplot(2,1,2) %画回路2中的电流对时间的曲线 plot(t,y(:,2)) axis([0 130 -5 5]) xlabel('时间 t')

ylabel('回路2中的电流 I')

y0=[1 1 0.01]; %初始条件作一微小变化 [t,y]=ode23('bidisk',tspan,y0); %重解微分方程 subplot(2,1,1) hold on

plot(t,y(:,1),'k') %再画回路1中的电流对时间的曲线 subplot(2,1,2) hold on

plot(t,y(:,2),'k') %再画回路2中的电流对时间的曲线 3、程序 code\xt35.m

二十

1、如图所示,在实验室中亥姆霍兹线圈能产生不太强的均匀磁场。试编写一计算机程序,画出两线圈的距离分别是R r =、R 9.0和R 1.1时线圈轴线上的磁场分布,并比较所得的三条曲线,说明为什么仅当R r =时在轴线上中点附近的

磁场基本上是均匀的。(设线圈半径m R 2.0=,线圈匝数1000=N 匝及电流

A I 1=)

(

)

()[

]

2

/32

2

202

/322

2

022x

r R NIR

x

R NIR

B -++

+=

μμ

2、程序实现

%亥姆霍兹线圈的磁场(1)

mu0=4*pi*10^(-7);N=1000;I=1;R=0.2; %设定电流线圈的各参量

r1=R;r2=0.9*R;r3=1.1*R; %假设两线圈分别等于,小于和大于R c=mu0*N*I*R^2/2;

dx=0.001; %设定计算位置步长 x=[0:dx:R]; %设定计算位置的范围

B1=c*(1./(R^2+x.^2).^(3/2)+1./(R^2+(r1-x).^2).^(3/2)); %计算r=R 时的磁场 B2=c*(1./(R^2+x.^2).^(3/2)+1./(R^2+(r2-x).^2).^(3/2)); %计算r=0.9R 时的磁场 B3=c*(1./(R^2+x.^2).^(3/2)+1./(R^2+(r3-x).^2).^(3/2)); %计算r=1.1R 时的磁场 plot(x,B1,'b',x,B2,'k',x,B3,'k:') %画出两线圈间磁场大小的曲线图 xlabel('距离/m');ylabel('磁感应强度/T') legend('r=R','r=0.9R','r=1.1R')

%亥姆霍兹线圈的磁场(2) clear

B='c*(1/(R^2+x^2)^(3/2)+1/(R^2+(r-x)^2)^(3/2))';%写入磁感应强度的表达式 dBdx=diff(B) %求磁感应强度的变化率

%亥姆霍兹线圈的磁场(3)

clear

mu0=4*pi*10^(-7);N=1000;I=1;R=0.2; %设定电流线圈的各参量

r1=R;r2=0.9*R;r3=1.1*R; %假设两线圈分别等于,小于和大于R c=mu0*N*I*R^2/2;

dx=0.001; %设定计算位置步长

x=[0:dx:0.02]; %设定计算位置的范围

Bx1=-3*c*((R^2+(r1/2+x).^2).^(-5/2).*(r1/2+x)-(R^2+(r1/2-x).^2).^(-5/2).*(r1/2-x));

Bx2=-3*c*((R^2+(r2/2+x).^2).^(-5/2).*(r2/2+x)-(R^2+(r2/2-x).^2).^(-5/2).*(r2/2-x));

Bx3=-3*c*((R^2+(r3/2+x).^2).^(-5/2).*(r3/2+x)-(R^2+(r3/2-x).^2).^(-5/2).*(r3/2-x));

plot(x,Bx1,'b',x,Bx2,'k',x,Bx3,'k:') %画出两线圈间磁场大小的曲线图xlabel('距离/m');ylabel('B的变化率/T/m')

3、程序

code\xt291.m

code\xt292.m

code\xt293.m

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

matlab课后答案完整版

ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

实验1熟悉matlab环境和基本操作

实验1 熟悉Matlb环境及基本操作 实验目的: 1.熟悉Matlab环境,掌握Matlab的主要窗口及功能; 2.学会Matlab的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab的基本符号运算; 5.掌握Matlab中的二维图形的绘制和控制。 实验内容: 1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab的基本符号运算。 5.实例操作Matlab中的二维图形绘制和控制。 实验仪器与软件: 1.CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7及以上版本。 实验讲评: 实验成绩: 评阅教师: 年月日

实验1 熟悉Matlab环境及基本操作 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图: 其中, 1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

MATLAB)课后实验答案

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 012 2sin 851z e =+ (2) 21ln(2 z x =,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+= ++=--L (4) 22 42011 122123t t z t t t t t ?≤

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果: (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是:

实验二 MATLAB 矩阵分析与处理 1. 设有分块矩阵33322322E R A O S ?????? =? ??? ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22 E R RS A O S +?? =???? 。 解: M 文件如下; 5. 下面是一个线性方程组: 1 231 1 12340.951110.673450.5211145 6x x x ?? ??????????????=??? ?????????????????? ? ch = 123d4e56g9

(1) 求方程的解。 (2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下: 实验三 选择结构程序设计 1. 求分段函数的值。 2226035605231x x x x y x x x x x x x ?+-<≠-? =-+≤<≠≠??--? 且且及其他 用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。 解:M 文件如下:

实验一 MATLAB基本操作及运算

实验一 MATLAB 基本操作及运算 一、 实验目的 二、 实验的设备及条件 三、 实验内容 1、 建立以下标量: 1) a=3 2) ,(j 为虚数单位) 3) c=3/2πj e 2、 建立以下向量: 1) Vb= 2.71382882????????-???? 2) Vc=[4 3.8 … -3.8 -4 ] (向量中的数值从4到-4,步长为-0.2) 3、 建立以下矩阵: 1) 3 333Ma ????=?????? Ma 为一个7×7的矩阵,其元素全为3. 2) 11191212921020100Mb ??????=??????

Mb 为一个10×10的矩阵. 3) 114525173238Mc ????=?????? 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ((15)/6)111a x e --=+ 2) 2x π= 3) 3ln([()()]sin(/3))x b c b c a π=+-R ,其中R 表示复数实部。 5、 求解函数值22/(2.25)ct y e -=,其中c 取值见题1,t 的取值范围为题2中行 向量Vc 。 6、 使用题1和题3中所产生的标量和矩阵计算等式 1()()T Mx a Mc Mc Mc -=?? 其中*为矩阵所对应行列式的值,参考det 。 7、 函数的使用和矩阵的访问。 1) 计算矩阵Mb 每一列的和,结果应为行向量形式。 2) 计算整个矩阵Mb 的平均值。 3) 用向量[1 1…1] 替换Mb 的最上一行的值 4) 将矩阵Mb 的第2~5行,第3到9列的元素所构成的矩阵赋值给矩阵SubMb 。 5) 删除矩阵Mb 的第一行; 6) 使用函数rand 产生一个1×10的向量r ,并将r 中值小于0.5的元素设置为0。 8、 已知CellA (1, 1)=‘中国’,CellA (1,2)=‘北京’,CellA (2,1)是一个3乘3的单位阵,CellA (2, 2)=[1 2 3],试用MATLAB 创建一个2×2的细胞数组CellA 。 9、 已知结构数组student 中信息包含有姓名,学号,性别,年龄和班级,试用MATLAB 创建相应的结构数组student 。该数组包含有从自己学号开始连续5个同学的信息(如果学号在你后面的同学不足5个则往前排序),创建完成后查看自己的信息。

matlab第二章习题答案

第一大题: (1) a = 7/3 b = sym(7/3) c = sym(7/3,'d') d = sym('7/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 2.3333 b = 7/3 c = 2.3333333333333334813630699500209 d = 7/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000014802973661668756666666667788716(2) a = pi/3 b = sym(pi/3) c = sym(pi/3,'d') d = sym('pi/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 1.0472 b = pi/3 c = 1.047197551196597631317786181171 d = pi/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000011483642827992216762806615818554 (3) a = pi*3^(1/3) b = sym(pi*3^(1/3)) c = sym(pi*3^(1/3),'d') d = sym('pi*3^(1/3)') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d))

a = 4.5310 b = 1275352044764433/281474976710656 c = 4.5309606547207899041040946030989 d = pi*3^(1/3) v1 = 0.00000000000000026601114166290944374842393221638 v2 = 0.00000000000000026601114166290944374842393221638 v3 = 0.0000000000000002660111416629094726767991785515 第二大题: (1) c1=3/7+0.1 c1 = 0.5286 双精度 (2) c2=sym(3/7+0.1) c2 = 37/70 符号 (3) c3=vpa(sym(3/7+0.1)) c3 = 0.52857142857142857142857142857143 完整显示精度 第三大题: (1) findsym(sym('sin(w*t)'),1) ans = w (2) findsym(sym('a*exp(-X)' ) ,1) ans = a (3) findsym(sym('z*exp(j*theta)'),1) ans = z

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

matlab所有实验及答案

实验二 习题 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵?? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) 2、 建立一个数值范围为0—100内4*5的整数随机矩阵。 求出大于50的元素的位置。 解:命令为: G=int8(100*rand(4,5)) find(G>50) 3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B 4、 利用函数产生3*4阶单位矩阵和全部元素都为8的 4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B 5、 创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

MATLAB运算基础(第2章)答案

实验01讲评、参考答案 讲评 未交实验报告的同学名单 批改情况: 问题1: 不仔细,式子中出错。 问题2: 提交的过程不完整。 问题3: 使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。 问题4: 截屏窗口没有调整大小。

附参考答案: 实验01 MATLAB 运算基础 (第2章 MATLAB 数据及其运算) 一、实验目的 1. 熟悉启动和退出MATLAB 的方法。 2. 熟悉MATLAB 命令窗口的组成。 3. 掌握建立矩阵的方法。 4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1. 数学表达式计算 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 1.1 计算三角函数 12 2sin 851z e =+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适 当调整窗口大小。 命令窗口中的执行过程: 《MATLAB 软件》课内实验 王平

1.2 计算自然对数 221 ln(1)2z x x =++,其中2120.45 5i x +??=??-??(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。 应用点乘方) 命令窗口中的执行过程: 1.3 求数学表达式的一组值 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+=++=--L 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 命令窗口中的执行过程:

matlab答案

第一章 2.在命令窗口输入‘’w=3+2‘’,然后依次使用clear和clc命令,分别观察命令窗口、工作空间窗口和历史命令窗口的变化。 使用clear命令时,命令窗口无变化,工作空间窗口中的内容被删除,历史命令窗口多出一条命令记录。 使用clc命令时,命令窗口中的内容被删除,工作空间窗口无变化,历史命令窗口中多出一条命令记录 3.将硬盘上一已有目录,加入到搜索路径,并将其设置为当前工作目录。 File-set path-add folder-save 第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.doczj.com/doc/888424551.html,’,’Zhang@https://www.doczj.com/doc/888424551.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Name='Zhang' Students(1).Age=18 Students(1).Email='Zhang@https://www.doczj.com/doc/888424551.html,','Zhang@https://www.doczj.com/doc/888424551.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.doczj.com/doc/888424551.html, Student(1).Age=19

Student(1).Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] ; F=full(A) S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵: A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] ; B=[2 3 4;5 6 7;8 9 10] ; C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,4:6)=[11 12 13] D(2,:)=[11 12 13] 8.分别查看第5题两个结果的各方向长度

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

第2章MATLAB数据及其运算习题答案.doc

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MA TLAB合法变量名的是()。D A.合计B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B.1.2e-5 C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素B.第一行元素 C.第三行元素D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量B.a变为2行2列 C.a变为3行2列D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定B.-1 C.1D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

13.eval('sqrt(4)+2')的值是()。B A.sqrt(4)+2 B.4 C.2 D.2,2 14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。D A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores) C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。B A.第一行第二列的元素内容B.第二行第一列的元素内容 C.第一行第二列的元素D.第二行第一列的元素 二、填空题 1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用分隔。中括号,逗号或空格,分号 2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= ,A.*B= 。 A*B=[19,22;43,50],A.*B=[5,12;21,32] 3.有3×3矩阵,求其第5个元素的下标的命令是,求其第三行、第三列元素的序号的命令是。[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。20 >> ans=5; >> 10; >> ans+10 5.下列命令执行后,new_claim的值是。This is a great example. claim= 'This is a good example.'; new_claim=strrep(claim,'good','great') 三、应用题 1.命令X=[]与clear X有何不同?请上机验证结论。 Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。空矩阵存在于工作空间中,只是没有任何元素。 2.在一个MA TLAB命令中,6 + 7i和6 + 7*i有何区别?i和I有何区别? 3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A 的区别?如果A和B是两个标量数据,结论又如何? 4.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。 (2)删除矩阵A的第5号元素。 (3)求矩阵A的大小和维数。 2

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

Matlab figure 基本操作

Matlab figure基本操作 set(gcf,'Position',[300 300 700 220]); %调整Figure位置和大小。前两个为离屏幕左下角的X,Y距离,后两个值为Figure窗口的宽和高 set(gca,'Position',[.05 .1 .9 .8]); %调整绘图范围(比例关系)。0.05+0.9为横向比例,最大为1;0.1+0.8为纵向比例。0.05和0.1为距离Figure左下角的X,Y距离 figure_FontSize=12; set(gca,'FontSize',figure_FontSize,'FontName','Arial'); xlabel('Distance (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); ylabel('Thickness (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); box off; %关闭上和右侧刻度线 grid on; %添加网格线 xkd=[10 20 30]; %定义坐标刻度数量 ykd=[100 200 300]; xkd_label=[1 3 5]; %更改刻度 ykd_label=[100 200 300]; set(gca,'xtick',xkd); set(gca,'xticklabel',xkd_label); set(gca,'ytick',ykd); set(gca,'yticklabel',ykd_label); set(gca,'xscale','log'); %改为对数坐标

相关主题
文本预览
相关文档 最新文档