实验一 MATLAB 集成环境使用与基本操作命令练习
一 实验目的
熟悉MATLAB 语言编程环境;熟悉MATLAB 语言命令 二 实验仪器和设备
装有MATLAB6.0以上计算机一台 三 实验原理
MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。 1.1 基本规则
1.1.1 一般MATLAB 命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。
1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注
释。
1.1.3 可用↑、↓键来重现已输入的数据或命令。用←、→键来移动光标进行修改。 1.1.4 所有MATLAB 命令都用小写字母。大写字母和小写字母分别表示不同的
变量。
1.1.5 常用预定义变量,如pi 、Inf 、NaN 、ans
1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用
“;”分开。如
????
?
?????=987654321A
MATLAB 书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLABZ 中运行如下程序可得到A 矩阵 a=[1 2 3;4 5 6;7 8 9] a =
1 2 3 4 5 6 7 8 9
1.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出它们的区别:
a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9];
a=
1 2 3 不显示结果
4 5 6
7 8 9
1.1.8 当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。
1.2 文件管理常用命令
1.2.1 帮助(HELP)命令
MATLAB有很多命令,因此很不容易记忆。使用HELP命令可以得到有关命令的屏幕帮助信息。
如在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令(请自行验证)。
而下面的格式可以得到指定命令的帮助信息,和详细说明。
help 命令名
1.2.2save 命令
该命令存储定义的变量或演算结果,也可以用来存储指定的变量。
命令格式为
save 文件名[变量名表] [-append] [-ascii]
1.2.3 what 命令
该命令可以在当目录下显示MATLAB文件和MAT数据文件
1.2.4 dir 命令
显示当前目录下的所有文件.
1.2.5clear命令
如果输入clear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入clear命令,则清除整个工作空间。
1.3矩阵运算
MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.
1.3.1在MATLAB中表示一个矢量要用方括号,而列矢量的输入只需在行矢
量输入格式基础上加转置符“’”即可。
如x=[1 2 3;4 5 6]
x =
1 2 3
4 5 6
而x=[1 2 3;4 5 6]' (加转置符)
x =
1 4
2 5
3 6
1.3.2下面三条命令可以产生一个行矢量
1a=linspace(x,y,n)
2a=logspace(x,y,n)
3a=[x:n:y]
第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。其行矢量的起始值是x, 终值为y, 点数为n。
第二条命令可以在对数空间产生一个值在10x至10y之间等间隔的行矢量(一组数据)。
第三条命令产生x至y步长为n的行矢量。
但是, 三个命令之间存在差别,下面的例子可以说明这一点。
例1 x=logspace(0,5,6)
x =
1 10 100 1000 10000 100000 例
2 x=linspace(0,10,11)
x =
0 1 2 3 4 5 6 7 8 9 10 例3x=[0:1:10]
x =
0 1 2 3 4 5 6 7 8 9 10
通过上面三个例子可以看出例一, 例二中n代表选取的点数。而在例三中n则表示步长. 注意它们的区别。
1.3.3矩阵的加, 减, 乘, 除等, 和其它语言书写一样。但要注意的是在运算符前面加有“.”则表示是数组运算,为对应元素的相应操作。
例4 请注意下面的不同情况.
a=[1 2;3 4];
b=[2 2;2 2];
c=a*b c=a.*b
c = c =
6 6 2 4
14 14 6 8
c=a/b c=a./b
c = c =
1.0e+015 * 0.5000 1.0000
-2.2518 2.2518 1.5000 2.0000
-2.2518 2.2518
1.4 常见数学函数
例5:输入x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则:
ceil(x)= -4 -2 0 2 5 7
fix(x) = -4 -2 0 1 4 6
floor(x) = -5 -3 -1 1 4 6
round(x) = -5 -2 0 1 5 7
1.5 关系及逻辑运算
1.5.1 关系运算允许常量(或矩阵中的元素与元素) 之间的比较. 如果比较结
果为真,则答案为1, 否则为0. 常用的关系运算符如下:
< 小于, > 大于, == 等于
<= 小于等于, >= 大于等于, ~= 不等于
对于复数”==” 和”~=” 既比较实部也比较虚部, 而其它运算仅比较实部。
例6 比较a=[5:1:15] 与b=[1 2 8 8 7 10 12 11 13 14 15] 中的对应元素是否相同,则运行下面程序
a=[5:1:15];
b=[1 2 8 8 7 10 12 11 13 14 15];
y=a==b
y =
0 0 0 1 0 1 0 0 1 1 1
1.5.2MATLAB有三个逻辑运算符.
& 逻辑与| 逻辑或~ 逻辑非
在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算, 得到的结果是具有同样元素的矩阵。
例7 分别对下面两个矩阵进行逻辑运算.
X=[0 1;1 0]; Y=[0 0;1 0];
X&Y
ans =
0 0
1 0
X|Y
ans =
0 1
1 0
~X
ans =
1 0
0 1
MATLAB在进行混合运算时, 其顺序为:
算术运算→ 关系比较→ 逻辑运算
例8 计算x&y+x>y 时, 程序首先执行x+y运算, 然后将相加结果与y比较, 最后将比较结果和x作与运算,运行结果如下。
x=[0 1;1 0];
y=[0 0;1 0];
x&y+x>y
ans =
0 1 1 0 四 实验内容和步骤
熟悉MATLAB 语言编程环境。在这一环境中,系统提供了许多编写,调试和执行MATLAB 程序的便利工具。熟悉变量、MATLAB 基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。 (一)熟悉Matlab 的运行环境以及HELP 命令,运行demo 命令,观看matlab 所具有的功能。
(二)验证例题中所有操作。
(三)完成以下各题,将步骤命令写入实验报告,并在机器上运行结果验证。 1.输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:
A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A
2.输入C=1:2:20,则C (i )表示什么?其中i=1,2,3,…,10; 3.查找已创建变量的信息,删除无用的变量;
4.输入以下程序,察看结果,如果出错给出处理方法并验证。 (1)a=magic(3);b=243; (2)a=magic(3);b=243;
save myvar a b; save myvar a b –ascii; clear; pause;clear; load myvar; load myvar –ascii; who a,b
5.求下列表达式的值。
(1))1034245.01(26-?+?=w
(2)a
c b e abc c
b a x ++-+++
=
)tan(22
ππ,其中a=3.5,b=5,c=-9.8。 五 写出实验总结报告
实验二MATLAB中的数值计算与程序设计
一实验目的:
完成MATLAB下数据分析与程序设计有关问题的练习。学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。学习全局和局部变量的使用,流程控制结构,函数编写及其调试。
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
1. 常用运算命令
例1 求a=S^3+2S^2+3S+4根.
a=[1 2 3 4];
roots(a)
ans =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
或
roots([1 2 3 4])
ans =
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
例2 已知某多项式的根如下
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
求该多项式.
poly([-1.6506,-0.1747+1.5469i,-0.1747 - 1.5469i])
ans =
1.0000
2.0000
3.0001
4.0001
即所求多项式为S^3+2S^2+3S+4 .
2. 无条件循环
当需要无条件重复执行某些命令时,可以使用for循环:
for 循环变量t=表达式1 : 达式2 : 表达式3
语句体
end
说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。
例3:例4:矩阵输入程序
生成3×4阶的Hiltber矩阵。m=input(‘矩阵行数:m=’);
for i=1 : 3n= input(‘矩阵列数:n=’);
for j=1 : 4 for i=1:m
H(i,j)=1/(i+j-1);for j=1:n
end disp([‘输入第’,num2str(i),’行,第’,num2str(j),’end 列元素’])
A(i, j) = input (‘’)
end
end
for语句不能通过在循环体内重新赋值给循环变量来终止for循环,只能使用break
例如:for n=1:10
x(n)=sin(n*pi*10);
if n==5 break;
end
input 是键盘输入指令,在屏幕上显示提示内容,等待从键盘输入;
3. 条件循环
1) if-else-then 语句
if-else-then 语句的常使用三种形式为:
(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1
end elseif 逻辑表达式2 语句体2 (2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 … else else
语句体2 语句体n
end end 例题:
n=input(‘n=?’); if rem(n,2)==0
disp(‘n is even ’); else
disp(‘n is odd ’); end;
2) while 循环语句
while 循环的一般使用形式为:
while 表达式 语句体 end 例4:
用迭代法计算多项式方程523--x x = 0的一个实根。 解:
x0=3;r=1;n=0; while r > 1e-5 x1=x0;
x0=3+5/x1.^2; r=abs(x0-x1); n=n+1; end,x0,n
运行结果为: x0 =
3.4260 n = 9
4. 分支结构
若需要对不同的情形执行不同的操作,可用switch 分支语句:
switch 表达式(标量或字符串)
case 值1
语句体1
case 值2
语句体2
…
otherwise
语句体n
end
说明:当表达式不是“case”所列值时,执行otherwise语句体。
例题:
var=input(‘var=?’);
switch var
case 1
disp(’var=1’);
case [2,3,4]
disp(‘var=2 or3 or 4’);
case 5
disp(‘var=5’);
otherwise
disp(‘other value’);
end;
5. 建立M文件
将多个可执行
...的系统命令,用文本编辑器编辑后并存放在后缀为.m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。
注意:文件存放路径必须在Matlab能搜索的范围内。
6. 建立函数文件
对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。
1.格式:
function [输出变量列表]=fun_name(输入变量列表)
用户自定义的函数体
2.函数文件名为:fun_name,注意:保存时文件名
...最好相同;
...与函数名
3.存储路径:最好在系统的搜索路径上。 4. 调用方法:输出参量=fun_name (输入变量) 例5:
计算s = n!,在文本编辑器中输入:
function s=pp(n);
s=1;
for i=1:n s=s*i; end
s;
在MATLAB 命令窗口中输入:s=pp(5) 结果为: s = 120 四 实验内容和步骤 (一)验证例题中的操作。
(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。 1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。参照例题4
2.编写分段函数 ???
??≤≤-<≤=其它021210)(x x x x
x f 的函数文件,存放于文件ff.m 中,并求
)3(-f ,)2(f ,)(∞f 的值。
做出f (x )的图形,求出该函数的零点和最值。
提示:使用function 函数
x=fminbnd(‘F’,x1,x2) 找出函数的极小值; 零点使用 roots 函数 画图使用hold on
3. 编写一个函数文件求三个数的最大值。 五 写出实验总结报告 包含程序代码和图形。
实验三MATLAB图形系统
一实验目的
学会用MATLAB语言绘图
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
1、plot
该命令在线性坐标系下绘制y对应于x的轨迹。若其中之一为矩阵则该命令将对应于矩阵的行或者列绘制一簇曲线。该命令也可以在同一坐标轴下绘制多条曲线。
例1 运行程序
t=[0:1:10];
x1=t;
plot(x1)
可在图形窗口得到下面图形:
例2
x=[0:0.5:7];
y=sin(x);
y1=2*x;
y2=3*x;
plot(y,x,y1,x,y2,x)
从上面的例子可以看出, 如果要在同一坐标轴下绘制多条曲线, 可用如下格式:
plot(x1,y1,x2,y2……..xn,yn) % 对应于不同矢量时
其中x1,y1……….xn,yn是对应的关系。
2、log log
在两个对数(标准对数)坐标间绘制图形。
3、semilogx 或semilogy
在x轴或y轴为对数坐标, 而另一轴为线性轴的空间绘制图形。
4、polar
在极坐标空间绘制图形。
5、grid
在图形中加栅格。
6、subplot (r,c,p)
该命令将屏幕分成r*c个窗口,p表示在第几个窗口. 同时绘制多个图形窗口时,绘图语句间应用逗号分开。
例3 下面的程序产生四个窗口,且分别绘制相应图形.
t=[0:0.01:2*pi];
y=sin(t);
x=cos(t);
subplot(221),plot(t,y),grid,subplot(222),plot(t,x),
grid,subplot(223),polar(t,y),subplot(224),polar(t,x)
从上面的程序可以看出,subplot语句中的r,c,p可以不用逗号分开。
上面程序执行后得到如下图形:
02468-1
-0.500.5
102468
-1
-0.500.5
1
7、 gtext
该命令用于鼠标定位的文字注释. 执行完绘图命令后再执行gtext(‘说明文字’) 命令, 就可在屏幕上得到一个光标, 然后,用鼠标选择说明文字的位置。
例4 t=[0:1:10]; x1=2*t; x2=0.5*t; plot(x1,t,x2,t); gtext('x=2t'); gtext('x=0.5t')
8、 如果需要同时在不同窗口绘制图形, 可用figure 语句来完成。
例5 t=[0:1:10];
x1=2*t;
x2=3*t;
figure,plot(x1),figure,plot(x2)
9、有关绘图方面的还有:
?Title 给当前图像加标题。
?xlabel 或ylabel 给x或y轴加标注。
?text 在当前图像上指定位置加注释。
等。
10、在同一座标系中绘制多个曲线时, 曲线的颜色可以自动确定,也可以自己选择。
其使用格式如下:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
11、三维图形绘制函数
p lo t3函数与p lo t 函数的用法类似。
还可以用mesh 函数绘制三维网格图;用surf 函数绘制三维曲面图。
MATLAB 提供了丰富的三维绘图函数,可以通过help 命令查看。
例6 绘制三维曲线:??
?
??=≤≤==)cos()sin()200()
cos()
sin(t t t z t t y t x π
t=0:p i/100:20*p i; x=sin(t) ; y=co s(t);
z=t.*sin(t).*cos(t); p lo t3(x,y,z) ;
title(‘line in 3-D sp ace ’) ;
xlabel(‘X ’) ;ylabel(‘Y ’);zlab el(‘z ’); grid o n
运行结果如下:
四 实验内容和步骤
(一)验证例题中的操作。
(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。 1. 在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t ∈[0,2π] 2. 绘制[0,4π]区间上的x=10sint 曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:显示范围、刻度线、比例、网络线 (3)标注控制:坐标轴名称、标题、相应文本。
3. 绘制三维圆柱螺线 : ,要求给相应的坐标轴和标题附加标注,螺线为兰色虚线;并使用stem 函数绘制三维火柴杆图。
4.绘制动态的正弦曲线。程序如下: x=0:0.1:2*pi; w=1; t=1;
y1=sin(w*x+t); fp1=plot(x,y1,'r'); ylim([-2,2]);
set(gcf,'DoubleBuffer','on'); for t=1:0.1:20;
y1=sin(w*x+t); set(fp1,'YData',y1); pause(0.2); end
修改程序,实现两列正弦波的动态叠加,213),cos(1),sin(1y y y t wx y t wx y +=+=+=,绘制y3的图形。
5.利用彗星函数comet 和comet3,动态地展示点的运动轨迹,程序如下 subplot(1,2,1); t=0:0.001:2*pi;
x=cos(2*t).*(cos(t).^2); y=sin(2*t).*(sin(t).^2); comet(x,y); %pause;
subplot(1,2,2);
t=-10*pi:pi/250:10*pi; x1=cos(2*t).*(sin(t).^2); y1=sin(2*t).*(sin(t).^2);
comet3(x1,y1,t);
参照上面的程序,绘制动态的正弦曲线~ 6.运行下面的程序。
z=peaks;
surf(z);
axis tight,set(gca,'nextplot','replacechildren');
for j=1:20
surf(sin(2*pi*j/20)*z,z);
f(j)=getframe;
end;
movie(f,3);
动画显示波的震动效果的图形。
7.运行下面的程序。
axis equal;
M=moviein(16);
for j=1:16
plot(fft(eye(j+16)));
M(:,j)=getframe;
end
movie(M,30);
matlab的三条动画指令,moviein、getframe、movie,影片制作有getframe实现,放映由movie 实现,moviein初始化电影帧存储器。M(:,j)=getframe;把制作的第j帧画面像素以列的形式存储。
运行如下的程序。
M=moviein(16);
t=0:0.001:1;
for j=1:16
plot(sin(2*pi*t*j));
M(j)=getframe;
pause(0.2);
end
movie(M,30);
实验四 电磁波的绘制
一 实验目的
熟悉matlab 在时变电磁场仿真中的运用; 掌握matlab 动画功能来分析时变场的极化特性 二实验原理
原理:matlab 动画功能 相关知识点:极化的概念
概念:在垂直于传播方向的平面内,场的矢端在一个周期内所画出的轨迹。
在这里,我们仅以电场为例。
分类:根据场的矢端轨迹,分为线极化、圆极化、椭圆极化三类。 假设:
,极化类型取决于
、
及
、
真空中一平面波得电磁场强度矢量为z
j y x e e j e E 2)(2π
-+=
(1)此波属于何种极化?若是旋极化,属于指出旋向;
(2)写出对应磁场强度矢量;
z j y x z j y x z z e
e e j e
e j e e E
e H 22)(2
)(211π
π
η
η
η
--+-=
+?=?=
(3)写出与此波旋向相反且传播方向相反的波的电场强度和磁场强度矢量。
z j y x e
e j e E 2)(2π
-=
(4)写出电场和磁场的瞬时值表示形式
)]
2
cos()
2sin([2),()(22
z t e z t e t z H e e e j H y x z j y x πωπωηη
π
-+-=+-=-
)]
2
sin()
2
cos([2),(z t e z t e t z E y x πωπω---=
(5)用matlab 绘制出电场和磁场的图形。 plot3
实验一连续时间信号在Matlab中的运算 一、实验目的 1、学会运用Matlab进行连续时间信号的时移、反褶和尺度变换; 2、学会运用Matlab进行连续时间信号微分、积分运算; 3、学会运用Matlab进行连续时间信号相加、相乘运算; 4、学会运用Matlab进行连续时间信号卷积运算。 二、实验原理及实例分析 1、信号的时移、反褶和尺度变换 信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。 2、连续时间信号的微分和积分 符号运算工具箱有强大的积分运算和求导功能。 连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(function, ‘variable’,n) 其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;variable为求导运算的独立变量;n为求导阶数,默认值为一阶导数。 连续时间信号积分运算可以使用int命令函数来完成,其语句格式为: int(function, ‘variable’, a, b) 其中,function表示被积函数,或者被赋值的符号表达式;variable为积分变量;a为积分下限,b为积分上限,a和b默认时则求不定积分。 3、信号的相加和相乘运算 信号的相加和相乘是信号在同一时刻取值的相加和相乘。因此Matlab对于时间信号的相加和相乘都是基于向量的点运算。
4、连续信号的卷积运算 卷积积分是信号与系统时域分析的重要方法之一。定义为: Matlab 进行卷积计算可通过符号运算方法和数值计算方法实现。 (1)Matlab 符号运算法求连续信号卷积 从卷积定义出发,可以利用Matlab 符号运算法求卷积积分,但要注意积分变量和积分限的选取。 例:试用Matlab 符号运算法求卷积y(t)=[u(t)-u(t-1)]*[u(t)-u(t-1)]。 (2)Matlab 数值计算法求连续信号的卷积 ?+∞∞-=*=-2121d )t (f )(f )t (f )t (f )t (f ττ τ
信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:
实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221ln(1)2 z x x =++,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤ =-≤?-+≤ ,其中t =0:0.5:2.5 解: M 文件: z1=2*sin(85*pi/180)/(1+exp(2)) x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0; z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[] ch =
实验一MATLAB矩阵与数组(一) 一、实验目的 1.掌握矩阵与数组的创建 2.掌握数组与矩阵运算 3.掌握向量与矩阵的特殊处理 4.熟悉MATLAB关系操作和逻辑操作 二、实验内容 1.用两种以上的向量生成方法生成:a=[0 1 2 3 4 5 6 7 8 9]; >> a=[0 1 2 3 4 5 6 7 8 9] >> a=linspace(0,9,10) >> a=0:9 >> a=[0:1:9] 2.比较linspace和logspace的区别,分别在[1, 1000]生成100点的列向量; >> a=linspace(1,1000,100)' >> a=logspace(0,3,100)' 3.生成范围为[0, 10]的3×5二维随机分布整数矩阵D1; >> D1=round(10*rand(3,5)) 4.生成均值为0.5,方差为0.2的5×3二维正态分布矩阵D2; >> D2=0.5+sqrt(0.2)*randn(5,3) 5.生成5阶魔方阵,提取对角线存入向量e,根据向量e生成对角阵E; >> a=magic(5) >> e=diag(a) >> E=diag(e) 6.AA为3阶魔方阵;BB为AA旋转180°得到;CC为复数矩阵,实部为AA,虚部为BB;DD是CC的转置;EE为CC的共轭;计算DD与EE的幅角和模值。 >> AA=magic(3) >> BB=rot90(AA,2) >> CC=AA+i*BB >> DD=CC'
>> EE=conj(CC) >> DDM=abs(DD) %模值 >> EEM=abs(EE) >> DDF=angle(DD) /pi*180 %幅度 >> EEF=angle(EE)/pi*180 7.生成9阶方阵,元素为随机整数,范围为[1,20];利用函数生成上三角与下三角阵,并提取中心3×3的方阵存入D。 >> a=round(1+19*rand(9)) >> a1=triu(a) %上三角 >> a2=tril(a) %下三角 >> D=a(4:6,4:6) 8.求[100,999]之间能被21整除的数,并显示个数。(用逻辑关系判断编写)>> a=100:999 >> b=find(rem(a,21)==0) >> disp(length(b)) 9.建立一个包含随机字母的1×10向量a,并删除其中的大写字母。(用逻辑关系判断编写) //******* 10.在[0,3π]区间求y=sin(2x)的值,要求消去正半波,并限制幅度范围在[-0.5, 0]。 >> x=0:1/100:3*pi >> y=sin(2*x) >> y=(y<=0).*y >> y=(y>=-0.5).*y 三、实验内容注意 1.分清数组运算与矩阵运算的区别与联系; 2.熟悉MATLAB的各种数据运算,并注意变量空间的使用与变化; 3.灵活运用冒号符号、find函数、逻辑数组等。 四、作业要求 1.上机编写程序实现实验内容;
实验一熟悉matlab 一、实验目的: 1、了解MATLAB 用户界面 2、掌握MATLAB 的路径搜索 3、了解MATLAB 的帮助系统 4、掌握MATLAB 中标点符号的使用方法 5、掌握MATLAB 的数据类型 6、掌握常量和变量的使用方法 7、了解浮点数和复数的使用方法 8、掌握MATLAB 的文件操作 二、上机练习: 1.熟悉MATLAB 7用户界面 2.在D盘根目录下创建一个属于自己的文件夹(以自己的名字拼音作为文件夹名),设置为当前路径,并将其添加为MA TLAB的路径搜索。 3.用diary on 或diary xx 建立日志文件。 4.熟悉MATLAB的菜单:File,Deskstop;工具栏;熟悉命令窗口,历史命令窗口,工作空间等窗口的操作。 5.练习运用matlab的联机帮助系统获得二维图绘制帮助。 6.练习系统的在线帮助命令,在命令窗口中输入以下命令。 (1)help 命令: 1.当不知系统有何帮助内容时,可直接输入help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,输入: >> help syntax(了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,输入: (1)help 函数名 帮助函数:plot、max、round、sqrt、exp 等,了解函数的相关信息 (2)lookfor命令
现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:lookfor 关键字 >> lookfor line (查找与直线、线性问题有关的函数) 4. 练习模糊帮助 >>db 7.练习用cd 显示当前路径, 用cd 设置当前路径:>>cd e:\mydir 8.练习数据操作 1、input函数 变量名=input(‘提示信息\n’,‘s’) 2、disp 函数 disp ( 输出项) 例如:a=5; disp(a) 3、pause 函数 用法:pause或pause(n) 4、save 函数 (1)、save (2)、save a b (3)、save dfile a b (4)、save e:\mydir \dfile.dat a -ascii (5)、save dfile.dat a –ascii -double (6)、save (‘fname’,’a’,’-ascii’) 5、load 函数 (1)、load (2)、load dfile (3)、load(‘fname’) 9.练习常用指令的使用方法,将下面的命令在命令窗口中执行通过;(1)简单计算器的使用 >> 3*30+3*35+4*30+4*32
MATLAB 实验指导书皖西学院信息工程学院
实验一MATLAB编程环境及简单命令的执行 一、实验目的 1.熟悉MATLAB编程环境 二、实验环境 1.计算机 2.MATLAB7.0集成环境 三、实验说明 1.首先应熟悉MATLAB7.0运行环境,正确操作 2.实验学时:2学时 四、实验内容和步骤 1.实验内容 (1)命令窗口的使用。 (2)工作空间窗口的使用。 (3)工作目录、搜索路径的设置。 (4)命令历史记录窗口的使用。 (5)帮助系统的使用。 (6)了解各菜单的功能。 2.实验步骤 (1)启动MATLAB,熟悉MATLAB的桌面。 (2)进入MATLAB7.0集成环境。 (3)在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。 1) (365-52?2-70)÷3 =63.6667
2) >>area=pi*2.5^2 19.6350 3) 已知x=3,y=4,在MATLAB 中求z : () 2 3 2y x y x z -= = 576 4) 将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的 字节数。 m1=???? ????? ???11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) 10 >>m1( 11 ) 6 >>m1( : , 3 ) 3 10 6 15 >>m1( 2 : 3 , 1 : 3 ) 5 11 10 9 7 6 >>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) 34 5) 执行命令>>help abs 查看函数abs 的用法及用途,计算abs( 3 + 4i ) 5 6) 执行命令 >>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y) 7) 运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=
1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。 2、 用MATLAB 语句输入矩阵A 和B ????????? ???=14 23 143212344321 A , ?? ??? ?? ?? ???++++++++++++++++=4j 11j 43j 22j 34j 11j 42j 33j 24j 13j 22j 31j 41j 42j 33j 24j 1B 前面给出的是44?矩阵,如果给出 5)6,5(=A 命令将得出什么结果?
3.假设已知矩阵A,试给出相应的MATLAB命令,将其全部偶数行提取出来, A 命令生成A矩阵,用上述命令检验一下结果是不是赋给B矩阵,用magic(8) 正确。
4.用数值方法可以求出∑=++++++==63 63622284212i i S ,试不采用循环的形 式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 。
(1)t=[-1:0.014:1];y=sin(1./t);plot(t,y) (2)t=[-pi:0.05:pi];y=sin(tan(t))-tan(sin(t));plot(t,y) 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图。 [x,y]=meshgrid(-2:.1:2);z=1./(sqrt((1-x).^2+y.^2))+1./(sqrt((1+x).^2+y.^2)); subplot(224),surf(x,y,z)subplot(221),surf(x,y,z),view(0,90); subplot(222),surf(x,y,z),view(90,0);subplot(223),surf(x,y,z),view(0.0);
实验M A T L A B 基本操作 一、基本操作 1、命令窗口的简单使用 (1)简单矩阵的输入 (2)求[12+2 X (7-4)] + 32的算术运算结果 2、有关向量、矩阵或数组的一些运算 (1)设A=15; B=20;求C=A+B与c=a+b ( 2) 设A=[123;456;789] ,B=[987;654;321] ;求A*B 与 A.*B 说明*与.* 的运算特点 A=[123;456;789],B=[987;654;321] (3)设a=10, b=20;求i=a/b 与j=a\b a=10,b=20 ( 4) 设a=[1-23;45-4;5-67] ; 请设计出程序,分别找出小于0 的矩阵元素及其位置。 (5)在MATLA命令行窗口运行A二[1,2;3,4]+i*[5,6;7,8] ; 看结果如何如果改成运行A=[1,2;3,4]+i[5,6;7,8] ,结果又 如何 (6)请写出完成下列计算的指令: a=[123;342;523],求a A2=,a.A2= ( 7) 有一段指令如下,请思考并说明运行结果及其原因 clear
X二[12;89;36]; X(:) 矩阵变为一维矩阵 使用三元组方法,创建下列稀疏矩阵 2080 0001 0400 6000 (8)写出下列指令的运行结果 >>A=[123];B=[456]; >>C=3.A A >>D=A.A B C= 3927 D= 132729 3、已知y — e 4t sin 4 3t —若需要计算t €[-1,1],取 2 3 间隔为,试计算出相对应的y值。 二、运算基础 1、设有矩阵A和B, A二[12345;678910;15;20;25], B=[3016;17-69;023-4;970;41311]; 1) 求它们的乘积C
实验一、MATLAB基本操作 一、基本操作 1、命令窗口的简单使用 (1)简单矩阵的输入 (2)求[12+2×(7-4)]÷32的算术运算结果 2、有关向量、矩阵或数组的一些运算 (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=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1] (3)设a=10,b=20;求i=a/b与j=a\b? a=10,b=20 (4)设a=[1 -2 3;4 5 -4;5 -6 7]; 请设计出程序,分别找出小于0的矩阵元素及其位置。
(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=?
(7)有一段指令如下,请思考并说明运行结果及其原因clear X=[1 2;8 9;3 6]; X(:) 矩阵变为一维矩阵 使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0
(8) 写出下列指令的运行结果 >> A = [ 1 2 3 ]; B = [ 4 5 6 ]; >> C = 3.^A >> D = A.^B C = 3 9 27 D = 1 3 2 729 3、 已知??? ? ? +?= -334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。 二、运算基础 1、 设有矩阵A 和B ,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14
实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks
See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i 1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B
(2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];
实验一熟悉MATLAB工作环境 实验目的 初步数熟悉MA TLAB工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。 实验内容 (1)熟悉MA TLAB平台的工作环境。 (2)熟悉MA TLAB的5个工作窗口。 (3)MA TLAB的优先搜索顺序。 实验步骤 1.熟悉MA TLAB的5个工作窗口。 ①Command Windows (命令窗口) ②Workspace (工作空间窗口) ③Command History (命令历史记录窗口) ④Current Directory (当前目录窗口) ⑤Help Windows (帮助窗口) (1)命令窗口 >> x=1 x = 1 > >> y=[1 2 3;4 5 6;7 8 9] y = 1 2 3 4 5 6 7 8 9 >> z1=[1:10],z2=[1:2:5]; z1 = 1 2 3 4 5 6 7 8 9 10 >> w=linspace(1,10,10); >> t1=ones(3),t2=ones(1,3),t3=ones(3,1)
t1 = 1 1 1 1 1 1 1 1 1 t2 = 1 1 1 t3 = 1 1 1 >> t4=ones(3),t4=eye(4) t4 = 1 1 1 1 1 1 1 1 1 t4 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 思考题: ①变量名如何声明,变量名必须遵守什么规则、是否区分大小写。 答:变量名必须一、以字母,且只能由字母、数字、或者下划线3类符号组成,不能含有空格和标点符号等。变量名区分大小写。 ②试说明分号、逗号、冒号的用法。 答:分号的作用:分隔不想显示计算结果的个语句;矩阵行与行的分隔符。逗号的作用:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中个元素间的分隔符。 ③linspace()称为“线性等分”函数,说明它的用法。可使用help命令,格式如下:>>help linspace LINSPACE Linearly spaced vector. LINSPACE(X1, X2) generates a row vector of 100 linearly
石家庄铁道大学 《Matlab语言及其应用》实验报告 --实验1 Matlab软件环境的基本使用 实验者姓名:韩云星 实验者学号:20153254 实验者班级:信1501-1 所在学院:信息科学与技术学院 课程编号:RL090011 指导教师:刘展威 报告完成日期:2017年 4月 28 日
实验一熟悉MATLAB 工作环境 一、实验目的 1、了解Matlab的发展和主要功能; 2、熟悉Matlab工作环境的各个窗口; 3、掌握建立矩阵的方法; 4、掌握Matlab各种表达式的书写规则以及常用函数的使用。 二、实验内容 图 1实验内容1
图 2实验内容2 图 3实验内容3 三、实验设备和软件环境 处理器: Intel(R) Core(TM) i5-6200 CPU @ 2.30GHz (4 CPUs), ~2.3GHz 内存: 4096MB RAMIntel(R) Core(TM) i5-6200 CPU @ 2.30GHz (8 CPUs), ~2.3GHz 硬盘: Model: ATA ST2000DM001-1ER1 SCSI Disk Device 操作系统: Windows 7 旗舰版 64-bit (6.1, Build 7601) (7601.win7_gdr.101026-1503) Matlab版本:9.0.0.341360 (R2016a) 四、实验步骤或过程 1.在命令窗口依次输入下列命令,根据执行结果分析其功能:
help 在命令窗口输入后,会看到帮助的目录信息,如下图所示 图 4 帮助的目录信息 lookfor inv 输入后会在命令窗口显示帮助中含有字母inv的函数和函数功能的列表。 图 5 帮助中含有字母inv的函数和函数功能 help inv 查找函数inv,并显示其帮助信息。
实验一熟悉软件环境和基本的操作 一、实验目的: 1、熟练掌握MATLAB的启动和退出。 2、熟练MATLAB的命令窗口。 3、熟练使用常用的菜单和工具栏。 4、熟悉MATLAB桌面的其他窗口。 5、学会使用帮助窗口查找帮助信息。 二、实验内容与步骤: (1)启动MA TLAB (2)在命令窗口中输入以下命令: >> a=[1 2 3;4 5 6;7 8 9]; >> b=[1 1 1;3 3 3;6 6 6]; >> c='计算' >> d=a+b*j (3)打开工作空间浏览器窗口(workspace)查看变量,如图所示: 图1 工作空间窗口 (4)双击其中变量“d”,出现数组编辑器窗口(array editor),如图所示:
图2 数组编辑器窗口 (5)打开历史命令窗口,如图所示,选择上面的4行命令,单击鼠标右键,在快捷菜单中选择“create M-file”命令,生成M文件。 图3 历史命令窗口 (6)出现M文件编辑/调试器窗口,如图所示。单击工具栏的“save”按钮,将文件保存为“d:/mydir/lianxi001.m”。 图4 M文件编辑/调试器窗口
(7)打开当前目录浏览器窗口(current directory browser),将当前目录设置为“d:/mydir”,可以看见刚保存到的文件“lianxi001.m”,在命令窗口输入“lianxi001”运行该文件。 (8)在命令窗口输入“exit”命令,退出MA TLAB。 (9)重新启动MA TLAB,在命令窗口输入“lianxi001则不能运行该文件,该文件不在MATLAB搜索路径中。单击MA TLAB界面的菜单“file”→“set path”,打开设置路径对话框,将“d:/mydir”目录添加到搜索路径中,如图所示,单击“save”按钮关闭该对话框,重新输入“lianxi001则可以运行该文件。 图5 设置路径对话框 (10)在命令窗口输入 >> a=2.5 >> b=5*6 >> c=[a b] 写出运行结果
. 石家庄铁道大学 《Matlab语言及其应用》实验报告--实验1 Matlab软件环境的基本使用 实验者姓名:韩云星 实验者学号:20153254 实验者班级:信1501-1 所在学院:信息科学与技术学院 课程编号:RL090011 指导教师:刘展威 报告完成日期:2017年 4月 28 日
实验一熟悉MATLAB 工作环境 一、实验目的 1、了解Matlab的发展和主要功能; 2、熟悉Matlab工作环境的各个窗口; 3、掌握建立矩阵的方法; 4、掌握Matlab各种表达式的书写规则以及常用函数的使用。 二、实验内容 图 1实验内容1
图 2实验内容2 图 3实验内容3 三、实验设备和软件环境 处理器: Intel(R) Core(TM) i5-6200 CPU @ 2.30GHz (4 CPUs), ~2.3GHz 内存: 4096MB RAMIntel(R) Core(TM) i5-6200 CPU @ 2.30GHz (8 CPUs), ~2.3GHz 硬盘: Model: ATA ST2000DM001-1ER1 SCSI Disk Device 操作系统: Windows 7 旗舰版 64-bit (6.1, Build 7601) (7601.win7_gdr.101026-1503) Matlab版本:9.0.0.341360 (R2016a) 四、实验步骤或过程 1.在命令窗口依次输入下列命令,根据执行结果分析其功能: help 在命令窗口输入后,会看到帮助的目录信息,如下图所示
图 4 帮助的目录信息 lookfor inv 输入后会在命令窗口显示帮助中含有字母inv的函数和函数功能的列表。 图 5 帮助中含有字母inv的函数和函数功能 help inv 查找函数inv,并显示其帮助信息。 图 6查找函数inv Which inv 显示函数保存的位置信息和类型。 图 7显示函数保存的位置信息和类型 2.建立自己的工作目录,再将自己的工作目录设置到Matlab搜索路径下。用help命令查询自己的工作目录; 设置路径:
Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面与基本操作 2.了解matlab的数据输出方式(format) 3、 MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容与步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式与要求填写实验报告 1.在command window中分别输入如下值,瞧它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 i j eps inf nan pi realmax realmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format 函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4、写出在命令窗口中的计算步骤与运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >> (log(pi)+log(pi)/log(10)-exp(1、2))^2/81 >>ans = 0、0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401、6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe01、 mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01、mat”文件载入>> a=5、3 a =
基于MATLAB的单回路PID控制 一、实验目的 1、了解计算机控制系统的基本构成; 2、了解MATLAB的基本指令; 3、了解增量式PID算法的编程; 4、了解计算机控制的PID参数整定方法。 二、实验设备 1、计算机、上位机监控软件、MATLAB5.3版。 2、THKGK-1型过程控制实验系统装置——一阶液位对象。 三、实验原理 本实验的组成原理如图所示: 液位传感器将检测到的液位信号通过单片机通讯接口传送到计算机,使其与设定值比较,判断有无偏差存在或计算偏差大小。上位计算机调用MA TLAB的PID算法程序,对偏差实现PID运算,运算结果通过单片机的通讯接口,来控制水泵转速,从而调整水槽的进水量,达到控制液位的目的。 四、实验步骤 1、使用说明: 1)、本系统适合在Windows 98、2000、Win xp操作系统下工作。 2)、本系统提供了一种开放式的实验控制软件平台,用户可直接使用MA TLAB编制各种控制程序,由本系统提供的控制界面软件调用该算法程序,并将运算结果输出,直接控制实验装置。 3)、作为例子,本系统提供了3个用MA TLAB编制的算法程序(将光盘中MA TLAB演示软件实例\work复制到c:\MATLABR11\ ),pid0.m是普通增量式PID算法(用于控制液位1),pidc.m是串级控制pid算法(2个pid,液位1作为副对象,液位2作为主对象),pidsmir1.m 是动态参数自适应Smith预估算法(在Simulink基础上),该算法必须先辫识对象模型,将模型参数写入Smith1c图中的有关框图,例如Trans fun 和Trans fun1表示对象传递函数,Transport delay表示对象滞后时间。Main1.m是系统控制界面软件调用的MA TLAB主程序,indata.m是从Access数据库中读出数据,outdata.m是将控制算法运算结果送入Access数据库。用户可根据控制算法程序的编程需要,对Main1.m主程序作适当修改。
开课学院、实验室:实验时间:年月日
图4.1(上上)图4.2(上)图5.1.1(下)图5.1.2(下下)
5.作出下列曲面的3维图形, 1))sin(22y x z +π=; 第一次程序:x=-7.5:0.5:7.5;y=x;[X,Y]=meshgrid(x,y);Z=sin(pi*sqrt(X.^2+Y .^2));mesh(X,Y ,Z);图如图5.1.1 第二次程序x=-2:0.01:2;y=x;[X,Y]=meshgrid(x,y);Z=sin(pi*sqrt(X.^2+Y .^2));mesh(X,Y,Z);图如图5.1.2所示 第三次程序x=-7.5:0.01:7.5;y=x;[X,Y]=meshgrid(x,y);Z=sin(pi*sqrt(X.^2+Y.^2));mesh(X,Y,Z); 如图5.1.3所示 图5.1.3(上)图5.2(下)
2)环面:?? ? ??=+=+=, sin ,sin )cos 1(, cos )cos 1(u z v u y v u x )2,0()2,0(ππ∈∈v u 。 程序: u=linspace(0,2*pi,30);v=u;[U,V]=meshgrid(u,v);X=(1+cos(U)).*cos(V);Y=(1+cos(U)).*sin(V);Z=sin(U);mesh(X,Y,Z), 图如图5.2所示 3)分别作出单位球面在参数为两种不同取值范围的图形,注意坐标轴的单位长度要相等。提示:附加命 令rotate3d 可实现3维图形旋转。 a) cos sin ,sin sin ,cos ,x u v y u v z v =??=??=? (0,1.6)(0,)u v ππ∈∈;b) cos sin , sin sin ,cos , x u v y u v z v =?? =??=? (0,2)(0.5,)u v πππ∈∈ 程序:u1=linspace(0,1.6*pi,30);v1=linspace(0,pi,30);u2=linspace(0,2*pi,30);v2=linspace(0.5*pi,pi,30);... [U1,V1]=meshgrid(u1,v1);[U2,V2]=meshgrid(u2,v2);X1=cos(U1).*sin(V1);Y1=sin(U1).*sin(V1);Z1=cos(V1);. X2=cos(U2).*sin(V2);Y2=sin(U2).*sin(V2);Z2=cos(V2); subplot(1,2,1),mesh(X1,Y1,Z1),title('a');subplot(1,2,2),mesh(X2,Y2,Z2),title('b');图如图5.3所示 图5.3(上)
. .. . 铁道大学 《Matlab语言及其应用》实验报 告 --实验1 Matlab软件环境的基本使用 实验者:云星 实验者学号:20153254 实验者班级:信1501-1 所在学院:信息科学与技术学院 课程编号:RL090011
指导教师:展威 报告完成日期:2017年4月28 日 实验一熟悉MATLAB 工作环境 一、实验目的 1、了解Matlab的发展和主要功能; 2、熟悉Matlab工作环境的各个窗口; 3、掌握建立矩阵的方法; 4、掌握Matlab各种表达式的书写规则以及常用函数的使用。 二、实验容 图1实验容1
图2实验容2 图3实验容3 三、实验设备和软件环境 处理器: Intel(R) Core(TM) i5-6200 CPU 2.30GHz (4 CPUs), ~2.3GHz 存: 4096MB RAMIntel(R) Core(TM) i5-6200 CPU 2.30GHz (8 CPUs), ~2.3GHz 硬盘:Model: ATA ST2000DM001-1ER1 SCSI Disk Device 操作系统: Windows 7 旗舰版64-bit (6.1, Build 7601) (7601.win7_gdr.101026-1503) Matlab版本:9.0.0.341360 (R2016a) 四、实验步骤或过程 1.在命令窗口依次输入下列命令,根据执行结果分析其功能: help
在命令窗口输入后,会看到帮助的目录信息,如下图所示 图4 帮助的目录信息 lookfor inv 输入后会在命令窗口显示帮助中含有字母inv的函数和函数功能的列表。 图5 帮助中含有字母inv的函数和函数功能 help inv 查找函数inv,并显示其帮助信息。
第一次上机作业 1. 熟悉matlab 集成环境界面。回答以下问题,并操作相关的指令: (1) 分别写出清除命令窗口和清除变量的指令。 清除命令窗口指令:clc 清除变量指令:clear (2) 在命令行输入命令后,matlab 的搜索过程是怎样的? a. 检查该命令对象是不是一个变量。 b. 检查该命令对象是不是一个内部函数。 c. 检查该命令对象是否为当前目录下的程序文件(在MATLAB 中称为M 文件)。 d. 检查该命令对象是否为MATLAB 搜索路径中其他目录下的M 文件。 (3) 什么是matlab 的当前工作目录?写出两种设置当前工作目录的方 法? 是指MATLAB 运行时的工作文件夹,只有在当前文件夹或搜索路径下的文件夹、函数才可以被调用。 第一种方法:通过当前文件夹工具栏中的地址框设置某文件夹为当前文件。 第二种方法:用cd 命令,在命令行窗口输入相应的指令 (4) 什么是matlab 的搜索路径?写出两种设置搜索路径的方法? 搜索路径:当用户在命令行窗口输入一条命令后,MATLAB 将按照一定顺序寻找相关的命令对象。 第一种方法:用path 命令设置搜索路径。使用path 命令可以把用户文件夹临时纳入搜索路径。 第二种方法:用对话框设置搜索路径。 (5) h elp 命令和doc 命令有什么作用,它们有什么区别? help 作用:是查询函数语法的最基本方法,查询信息直接显示在命令行窗口。在命令行窗口中直接输入help 命令将会显示当前帮助系统中所办函的所有项目。即搜索路径中所有的文件夹名称。 doc 作用:在帮助窗口中显示HTML 帮助文档,显示函数的详细用法及例子。 区别:doc 命令更加详细 2. 在matlab 中输入下列表达式,并求各表达式的值,显示MATLAB 工作空间的使用情况并用两种方式保存全部变量(写出保存变量的方法),变量保存的文件名必须包含自己的学号后四位数: 两种变量保存方法: a. 利用MAT 文件 b. 通过MATLAB 主窗口File 菜单中的Save Workspace As 命令将工作空间中的 全部变量保存 (1))1034245.01(26-?+?=w >> w=sqrt(2)*(1+0.34245*10^-6) w = 1.4142