MATLAB实验报告
学院:电气信息学院 专业:自动化
组员:于亚斌 2013141442058 周 波 2013141442004
实验一:MATLAB数值运算、图形的可视化
以及程序设计
一.实验目的
熟悉MATLAB语言基础,数值运算,绘图基础等,掌握MATLAB判断及循环程序的设计方法,熟练编写MATLAB函数。
二. 实验题目
第一题:用MATLAB创建矩阵
?1234?6789?A??11121314??16171819??212223245?10??15??20?25??,
1??11?1?21???B??11?3?。 ??123???1??11?(要求:不能直接输入矩阵,而需采用冒号运算符法,函数reshape( ), ones( ),操作符“;”实现多个矩阵“行方向”上的拼接, 或操作符号“,”实现多个矩阵“列方向”上的拼接 )
(1)建立后缀为.mat的数据文件ABdata.mat,将矩阵A,B的值存入该文件中。
(2)建立后缀为.m的文件exp1_1.m,实现以下功能: 清空workspace 中的变量;将ABdata.mat中A,B的值导入exp1_1.m;求A,B的乘积C;将C的右下角3x2矩阵赋值给D。
(3) 找出B中所有绝对值在[2,3]的元素和其所在的位置。(提示:用find()函数)
(4)完成以上实验的同时,请随时观察MATLAB工作空间的使用情况。 解答: clear;
load ABdata A B; C=A*B; D=C(3:5,2:3);
b1=B(abs(B)>=2&abs(B)<=3);%数值?
b2=find(abs(B)>=2&abs(B)<=3);%位置? b3=[b2,b1];
第二题:已知F1(s)?2s2?3s?9,F2(s)?s4?3s3?5s2?4s?7
编程实现以下运算: (1) F1(s)?F2(s);F1(s)*F2(s);F1(s)/F2(s);
(2) 求F1(s)?0方程的根。 (3) 求s=1:10时多项式F2(s)的值。 (4) 在同一窗口绘制s=-10:0.1:10时F1(s)以及F2(s)对应的曲线,其中F1(s)用黑色,F2(s)用绿色,且线宽为12。 (5) 建立两个绘图子窗口,分别绘制F1(s)以及d(F1(s))/ds的图形,并且要求标注出图形的title以及坐标轴的变量。
解答: a=[0 0 2 3 9]; b=[1 3 -5 4 7]; F1=poly2str(a,'s'); F2=poly2str(b,'s'); add=a+b mul=conv(a,b) [q,r]=deconv(a,b) roots(a) for s=1:10 polyval(b,s) end
figure; S =-10:0.1:10;
plot(s,polyval(a,s),'k-.','LineWidth',12) hold on;
plot(s,polyval(b,s),'g:','LineWidth',12) figure; subplot(1,2,1); d=polyder(a);
plot(s,polyval(a,s),'k--'); xlabel('s'); ylabel('F1'); title('F1'); subplot(1,2,2); plot(s,polyval(d,s),'b:'); xlabel('s'); ylabel('dF1/s'); title('dF1/s');
第三题:编写函数文件ff.m,实现下面分段函数的计算:
?x?f(x)??2?x?0?0?x?11?x?2 其他编写文件名为exp1_3的命令m文件,用input语句由键
盘输入x值,然后通过调用ff.m函数文件计算
f(?2),f(2),f(?),f(2sin85?),f(1?2i)的值。 21?e
解答:(1) x=input ('请输入x:')
f=ff(x)(注:提示从键盘输入x值。) (2)function f=ff(x) if x>=0&x<1 f=x else if x>=1&x<=2 f=2-x else f=0 end
end(注:ff.m文件)
第四题:编写程序exp1_4,试用switch语句完成卷面成绩score的转换:
(1) score>=90分,优; (2) 80<=score<90分,良; (3) 70<=score<80分,中; (4) 60<=score<70分,及格;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MATLAB实验报告在线全文阅读。
相关推荐: