软件技术MATLAB实验手册版.docx
- 文档编号:8234479
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:8
- 大小:120.14KB
软件技术MATLAB实验手册版.docx
《软件技术MATLAB实验手册版.docx》由会员分享,可在线阅读,更多相关《软件技术MATLAB实验手册版.docx(8页珍藏版)》请在冰豆网上搜索。
软件技术MATLAB实验手册版
实验课需要我们干什么?
一、实验课前的知识点预习。
二、准备实验课演练的例题。
三、实验课后的知识的总结。
MATLAB实验一MATLAB软件环境以及环境设置
一、实验目标
1.熟悉MATLAB软件的运行环境以及界面构成。
2.熟悉MATLAB环境中命令窗口的基本操作。
3.熟悉变量的相关操作,熟悉变量的存储与读取操作。
4.熟悉MATLAB环境设置(包括搜索路径和工作空间等设置)。
5.学会应用帮助导航浏览器获得所需信息,通过MATLAB帮助,自学需要的知识。
6.熟悉MATLAB中基本运算函数。
二、实验内容及要求
1.运行MATLAB软件,观察MATLAB的界面组成。
并了解各个部分的功能。
掌握多个窗口的在软件环境中的布局等操作。
(标题栏+菜单栏+工具栏+命令窗口+历史命令窗口+当前目录窗口+工作空间)。
2.命令窗口主要用于进行MATLAB的各种命令操作。
在该窗口中,可以运行MATLAB的指令、函数、表达式以及显示除了图形外的所有运行结果。
3.命令历史窗口主要保存所有运行过的命令。
4.改变currentdirectory,在当前目录下完成save和load命令。
5.在工作空间中在工作空间中对变量进行各种操作。
6.查找和设置搜索路径,并且测试。
7.变量的赋值以及引用。
8.MATLAB基本运算函数的演练。
三、实验步骤(略)
四、训练习题
1.书上所有例题和课后习题。
2.ppt上的所有例题以及学生演练习题。
五、测试习题
1.精度计算的问题。
看如下的代码,分析:
x=0;
forn=1:
82
x=x+0.01
end
x==0.82什么结果,请解释。
x=0;
forn=1:
82
x=x+1
end
x==82什么结果,请解释。
MATLAB实验二MATLAB编程基础(上)
一、实验目标
1.熟悉一维数组二维数组的创建和引用。
2.熟悉字符数组的创建和相关函数。
3.了解struct数组和cell数组的创建和引用。
4.熟悉算术、关系和逻辑运算符的使用。
5.熟悉各种运算函数。
二、实验内容及要求
1.创建一维数组并采用各种形式引用。
2.创建二维数组并采用各种形式引用。
3.创建字符数组,调用字符数组相关函数。
(1)通过下标引用字符串中元素。
(2)取子串。
(3)倒排字符串。
(4)计算字符串中字符的个数
(5)字符串中大小写转换
(6)查找字符串中出现子串的位置
4.创建struct数组和cell数组,采用各种形式引用。
5.算术、关系和逻辑运算符操作单个数、一维和二维数组。
(1)+、-、*、/、\、^
(2).*、./、.\、.^
(3)>、<、>=、<=、==、~=
(4)&、|、~、xor
(5)all、any、exsit、find、isequal、isnumric、isempty、
bitand、bitor、bitxor、bitcmp、&&、||
三、实验步骤(略)
四、训练习题
1.计算结果如下:
stats=1.0e+007*0.0000,但数据格式能改成普通的吗?
就是0.0123这种形式,请问matlab怎么改变数据格式?
2.在MATLAB中,怎么样对数据四舍五入?
比如矩阵中的数据[0.109172,0,236751,0,976736],我想得到这样的结果[0.10917,0,23675,0,97674],请问用什么命令?
3.为什么3+4&2的运算结果等于1而不是4?
4.eval(expression);是执行其参数中包含的expressionmatlab语句。
例如:
把August1.mat到August3.mat加载到MATLABworkspace:
ford=1:
3
s=['loadAugust'int2str(d)'.mat']
eval(s)
end
以下是被执行的s语句:
s=
loadAugust1.mat
s=
loadAugust2.mat
s=
loadAugust3.mat
问题:
为何s=['loadAugust'int2str(d)'.mat']的函数int2str(d)前后需要两个空格?
5.解决找不到目录的问题
方法一:
在matlab中输入editpathdef.m命令,然后打开了pathdef文件,将其中的相关目录注释掉然后保存,即可。
方法二:
也可以不打开pathdef.m文件,而直接用rmpath命令把pathdef.m中的相关找不到的目录去掉,然后用savepath保存。
rmpath的用法可参考帮助文件。
6.阅读并编写下列代码:
%读懂下列代码的前8行。
1.%阅读下面的程序,分析和理解如何进行分段函数的绘制。
2.%本例演示的是削顶整流正弦半波的计算和图形绘制。
3.%要求根据y值的不同进行分段,然后绘制出一样的图形。
4.t=linspace(0,3*pi,500);y=sin(t);
5.z1=((t
6.w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3);
7.w_n=~w;
8.z2=w*sin(pi/3)+w_n.*z1;
9.plot(t,z2,'-b'),axis([010-11])
7.阅读并编写下列代码:
%读懂下列代码的前12行
1.%阅读下面的程序,理解num2str和char的功能,
2.%掌握如何在MATLAB计算生成的图形上标出图名和最大值的点坐标的方法。
3.clear
4.a=2;
5.w=3;
6.t=0:
0.01:
10;
7.y=exp(-a*t).*sin(w*t);
8.[y_max,i_max]=max(y);%y_max是y中的最大值,对应的位置是i_max
9.t_text=['t=',num2str(t(i_max))];
10.y_text=['y=',num2str(y_max)];
11.max_text=char('maximum',t_text,y_text);
12.tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];
13.plot(t,zeros(size(t)),'k')
14.holdon
15.plot(t,y,'b')
16.plot(t(i_max),y_max,'r.','MarkerSize',20)%MarkseSize设置点的大小
17.text(t(i_max)+0.3,y_max+0.05,max_text)
18.title(tit),xlabel('t'),ylabel('y'),holdoff
8.已知矩阵A维度6x5;代表6个学生5门成绩,求每门成绩均大于90的学生。
9.演练下列代码:
10.完成下列运算:
11.运行下列代码,说出各行的运行结果:
12.
五、测试习题
MATLAB实验三MATLAB编程基础(下)
一、实验目标
1.熟悉MATLAB三大程序结构。
2.熟悉与函数相关的知识。
3.熟悉.m文件的编写和调试。
二、实验内容及要求
1.熟悉MATLAB三大程序结构。
(顺序,分支、循环)
练习if,switchcase,while-end,for-end语句。
2.熟悉break、continue、return和try-catch的使用。
3.熟悉与函数相关的知识。
(主函数、子函数、私有函数、匿名函数、嵌套函数、重载函数)
4.观察变量的作用域(全局变量和局部变量),参数的按值传递,参数的按地址传递方式以及参数可调性。
5.熟悉.m文件的编写。
(命令文件和函数文件的编写)
6.对于写好的.m文件,进行简单的调试。
(设置断点,单步执行,观察变量的值)
三、实验步骤(略)
四、训练习题
1.编写一个M函数文件,对于任意输入的向量x,可以计算下列分段函数值构成的向量。
2.matlab中有没有函数,找出两个数值数组中相同的项,比如func([126912],[291223])=[2912].如果有,请找到并调用,如果没有,请自己编写一个。
3.编写任意M文件,用于测试主函数能否调用子函数?
测试子函数是否能调用主函数?
测试子函数是否能调用其他子函数?
4.编写任意M文件,用于测试主函数能否调用子函数?
测试子函数是否能调用主函数?
测试子函数是否能调用其他子函数?
将该文件放入private目录,看是否能被其父目录的M文件调用?
5.编写函数文件myfunc.m,任意输入一个正整数,如果是偶数,用2除,如果是奇数,用3乘再加1,反复这个过程,知道所得到的数为1,将依次得到的这个数列返回(数列中包括输入的正整数)。
6.输入一个字符,若为大写字母,则输出其对应的消协字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应的数值;若为其他字符,则原样输出。
五、测试习题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 MATLAB 实验 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)