MATLAB应用实验指导书1234结果Word文档格式.docx
《MATLAB应用实验指导书1234结果Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB应用实验指导书1234结果Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
plot(x,y)
(7)运行MATLAB的演示程序,>
demo,以便对MATLAB有一个总体了解。
3、矩阵运算
(1)下列运算是否合法,为什么?
如合法,结果是多少?
1.result1=a'
=[14;
25;
36]
2.result2=a*b(维数不同)?
?
3.result3=a+b=[362;
5811]
4.result4=b*d=[312222;
404913]
5.result5=[b;
c'
]*d=[312222;
404913;
-5-87]
6.result6=a.*b=[28-3;
41530]
7.result7=a./b=[0.50.5-3.0;
4.01.671.2]
8.result8=a.*c=(维数不同)?
9.result9=a.\b=[2.02.0-0.33;
0.250.60.83]
10.result10=a.^2=[149;
162536]
11.result11=a^2=?
12.result11=2.^a=[248;
163264]
(2)用MATLAB求下面的的方程组。
=[1,5-5-2]’
X=inv(A)*b
(3)已知
(1)求矩阵A的秩(rank)=4
(2)求矩阵A的行列式(determinant)=12568
(3)求矩阵A的逆(inverse)=[0.1744-0.0303-0.01250.0270
-0.10500.0789-0.01210.0006
0.00830.01730.0911-0.0311
0.0095-0.0185-0.01030.0795]
(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)
=[
4.8554
12.6460+1.8333i
12.6460-1.8333i
15.8526]
4、关系运算与逻辑运算
已知a=20,b=-2,c=0,d=1
(1)r1=a>
b=1
(2)r2=a>
b&
c>
d=0
(3)r3=a==b*(-10)=1
(4)r4=~b|c=0
四、思考题
1、以下变量名是否合法?
为什么?
(1)x2
(2)3col
(3)_row
(4)for
定义变量
变量名、函数名对字母大小写敏感。
MAY、may表示不同变量。
变量名第一个字母必须是英文字母,且不能超过65个字符。
变量名中不得包含空格、标点但可包含下连符,如my_var是合法的变量名。
2、求以下变量的值,并在MATLAB中验证。
(1)a=1:
2:
5;
a=135
(2)b=[a'
a'
];
b=[111
333
555]
(3)c=a+b(2,:
)C=468
实验二MATLAB数值运算与作图
掌握MATLAB常用的数值运算函数。
1、求代数方程
的5个根,并将其用星号(*)标记在复平面图上。
(用roots和plot函数)。
x=
-0.8612+1.4377i
-0.8612-1.4377i
0.6737+1.0159i
0.6737-1.0159i
-0.9583
A=[3,4,7,2,9,12];
x=roots(A)
plot(x,'
*'
);
grid;
2、求代数方程
A=[1,0,0,0,0,-1];
-0.8090+0.5878i
-0.8090-0.5878i
0.3090+0.9511i
0.3090-0.9511i
1.0000
3、求下面函数在[0.5,4]区间内的过零点。
(用fzero函)
x=fzero(fun,x0)%查找fun函数在x0附近的零点
%估计零点
fplot('
x^3+1/x'
[0.5,4]);
holdon;
2*x^2*sin(x)-5*x*cos(x)'
holdoff;
[m,n]=ginput
(2)
m=
1.5121
2.6250
n=
3.8158
18.2895
y1=fzero('
x^3-2*x^2*sin(x)+5*x*cos(x)+1/x'
1.5)
y1=
1.5117
y2=fzero('
2.5)
y2=
2.6095
%建立函数
functiony=f(x)
y=x^3-2*x^2*sin(x)+5*x*cos(x)+1/x;
%调用函数
y1=fzero('
fz'
y2=fzero('
4、实验数据处理(选做)
已知某压力传感器的测试数据如下表
p
0.0
1.1
2.1
2.8
4.2
5.0
6.1
6.9
8.1
9.0
9.9
u
10
11
13
14
17
18
22
24
29
34
39
p为压力值,u为电压值,试用多项式
来拟合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。
调用方法:
polyfit(x,y,n)。
用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数
用法:
linspace(x1,x2,N)
功能:
linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。
其中x1、x2、N分别为起始值、终止值、元素个数。
若默认N,默认点数为100。
y=polyval(p,x)
返回n次多项式p在x处的值。
输入变量p是一个长度为n+1的向量,其元素为按降幂排列的多项式系数。
y=p1*x^n+p2*x^(n-1)+...+pn*x+p(n+1)
p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9];
u=[10,11,13,14,17,18,22,24,29,34,39];
x=polyfit(p,u,3)%得多项式系数
t=linspace(0,10,100);
y=polyval(x,t);
%求多项式得值
plot(p,u,'
t,y,'
r'
)%画拟和曲线
5、三维空间曲线绘制
z=0:
4*pi;
x=cos(z);
y=sin(z);
plot3(x,y,z)
z=0:
plot3(x,y,z,'
rp'
title('
三维空间曲线'
text(0,0,0,'
origin'
xlabel('
X'
),ylabel('
Y'
),zlabel('
Z'
6、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。
x=-3:
3;
[x,y]=meshgrid(x);
z=-x.^2/10+y.^2/10;
mesh(x,y,z);
立体网状图'
(2)
surf(x,y,z);
立体曲面图'
实验三MATLAB程序设计
掌握MATLAB程序编辑、运行及调试方法。
1、熟悉MATLAB的m文件
启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。
点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。
注:
数论中一个有趣的题目:
任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:
21
3105168421
63105168421
运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
%classic"
3n+1"
problemfromnumbertheory.
while1
n=input('
Entern,negativequits:
'
ifn<
=0
break
end
a=n;
whilen>
1
ifrem(n,2)==0
n=n/2;
else
n=3*n+1;
a=[a,n];
a
end
a=1
a=21
a=3105168421
a=5168421
a=7221134175226134020105168421
2.循环语句编程
(1)根据
,求
的近似值。
当n=100、1000、10000时,结果是多少?
3.1321,3.1406,3.1415
while1
k=input('
Enterk,negativequits:
x=0;
form=1:
k
x=x+1/m^2
x=sqrt(6*x)
end
(2)用for循环和while循环语句求1!
+2!
+…+10!
的值.
4037913
k=10;
x=0;
n=1;
n=m*n*1;
x=x+n;
x
k=3;
m=1;
whilem<
=k
m=m+1;
3.条件语句编程
试用if或switch语句完成卷面成绩score的转换:
(1)score≥90分,优;
(2)90>score≥80分,良;
(3)80>score≥70分,中;
(4)70>score≥60分,及格;
(5)60<score,不及格。
switchfix(k/10)
case{9,10}disp('
gradeis优'
)
case{8}disp('
gradeis良'
case{7}disp('
gradeis中'
case{6}disp('
gradeis及格'
otherwisedisp('
gradeis不及格'
)
c=input('
ifc>
=90
disp('
elseifc>
=80&
c<
90
=70&
80
=60&
70
4.函数编写(选做)
编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。
function[y]=myfun1(x)
选择一些数据测试你编写的函数。
ifx<
y=sin(x);
elseifx>
0&
x<
=3
y=x;
3
y=-x+6;
运行结果:
[y]=myfun1(-pi/2)
y=
-1
[y]=myfun1(0)y=
0
[y]=myfun1
(2)
2
[y]=myfun1(4)
实验四simulink应用
熟悉simulink仿真环境,掌握simulink仿真方法。
用Simulink求解下图所示电路0~100微秒内的响应。
已知R=6*10-4欧,C=1700微法,L=6*10-9享,uc(0)=15kV。
●模块参数设置:
Integrator1的Initialcondition:
15kV
在命令窗口为R,L,C赋值。
●仿真参数设置如下:
Initialcondition:
Starttime:
Stoptime:
100e-6
SolverType:
Variable-step
Solver:
ode45
Maxstepsize:
1e-7
Minstepsize:
auto
Initialstepsize:
Relativetolerance:
1e-3
Absolutetolerance:
1e-6