MATLAB作业与试验_第1页
MATLAB作业与试验_第2页
MATLAB作业与试验_第3页
MATLAB作业与试验_第4页
MATLAB作业与试验_第5页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB 习题与实验实验一: 变量和矩阵的赋值、 矩阵的初等运 算实验目的:1. 熟悉 MATLAB 的工作环境2. 掌握变量的赋值、矩阵的创建 .3. 掌握矩阵和数组的初等运算 .4. 熟悉和掌握 inv 、mean 、var 、randn 、rand 、 ones 、 zeros 、 magic 、eye 函数的使用 . 实验内容:1. 菜单栏 File Preferences Command Window Font and Colors 修改字体,选择 Use custom font 改为 24. 同样方法 File Preferences Editor/Debugger Fo nt

2、 and Colors 修改字体,选择 Use custom font 改为 24.点击 Apply ,OK 即可 .2. 在 内产生均匀分布的 200 个点,形成 1200 向量赋给变量 X. (结果不必记录) X=linspace(0,2*pi,200);3. 在 内每间隔 3 产生向量 Y.Y=0:3:10;4. 给矩阵赋值 , ,打开 workspace 查看 矩阵的赋值 .使用 save data A B 语句存储到 data.mat 数据文件中 .输入 Clear all 命令清 空所有变量,再使用 load data 加载矩阵 A 和 B.A=1 4 8 13;-3 6 -5 -

3、9;2 -7 -12 18;B=5 4 3 -2;6 -2 3 -8;-1 3 -9 7;save data A B;clear all;load data;5. 产生 8*6 阶的正态分布随机数矩阵 R , 求其各列的平均值和方差, 并求全体的平均 值和方差 .R=randn(8,6);a=mean(R);b= var(R);c=mean(R(:);d=var(R(:);6. 模拟选号程序,现有 10000 人,按顺序 编号为 1,2, 10000 号, 一次随机选出一个 编号,要求随机数均匀分布 .R=round(ceil(rand(10000,1)*10000);7. 产生 4*6 阶的

4、均匀分布随机数矩阵 R, 要 求其元素在 1 16 之间取整数值, 并求此矩 阵前四列组成的方阵的逆阵 .R=round(ceil(rand(4,6)*16);R=(:,5,6)=;inv(R);8. 使用矩阵运算产生 99 乘法表 ,显示数值 即可.R=1:1:9;R*R;9. 求下列联立方程的解:A=3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10;B=4;-3;9;-8;X=AB;9. (选做)产生 1 100 之间的奇数,按降序排列,赋给 Z. (结果不必记录)Z=99:-2:1;10. 将 1 1000 之间尾数为 3 的数取出, 赋给 M. (结果不必

5、记录)R=1:1:1000;M=R(rem(R,10)=3);11. (选做)a) 列出 2*2 阶的单位矩阵 I,4*4 阶的魔方矩 阵 M 和 4*2 阶的全幺矩阵 A ,全零矩阵 B. I=eye(2);M=magic(4);A=ones(4,2);B=zeros(4,2);b) 将这些矩阵拼接为 6*6 阶的矩阵 C:C=I,A;B,M;c) 取出 C 的第 2、4、 6 行,组成 3*6 阶的 矩阵 ,取出 C 的第 2、 4、6 列,组成 6*3 阶的矩阵 .C1=C(2,4,6,:);C2=C(:,2,4,6);d) 求 和D=C1*C2;D=C2*C 1; 实验要求: 记录命令

6、代码或函数代码和输出结果, 有图 形输出 矚慫润厲钐瘗睞枥庑赖。实验二:逻辑判断与流程控制 实验目的:1. 掌握常用关系运算和逻辑运算 .2. 熟悉掌握选择结构 (if 语句 )、循环结构 (for 语句, while 语句 )、多路分支结构( switch 语句)的流程控制语句 .3. 学习编写脚本文件( *.m 文件) .掌握脚 本文件的调用方法 .实验内容:1. 找出 1 100 间 3 的倍数和尾数是 3 的 数,按升序排列 .提示:排序函数为 sort(X) 程序源代码和调用及结果:X=1:100;Y=X(rem(X,3)=0) X(rem(X,10)=3);Z=sort(Y);fo

7、r k=1:length(Z)if (k+1)length(Z) break, endend disp(Z)Columns 1 through 15 聞創沟燴鐺險爱氇谴净。3 6 9 12 13 15 18 2123 24 27 30333639 残骛楼諍锩瀨濟溆塹籟。Columns 16 through 3042 43 45 4851535457 60 63 66 69727375酽锕极額閉镇桧猪訣锥。Columns 31 through 3978 81 83 8487909396 992. 编写脚本文件 exe31.m 使用选择结构编 写程序判断输入的成绩 C 为及格、中等、 良好、优秀、

8、满分还是不及格 . 该脚本文件的第一行是: C=input( 请输入 成绩 C= );if Z(k)=Z(k+1) Z(k)=; end67程序源代码和调用及结果: C=input( 请输入成绩 C= ) if C100 error, elseif C=100 满分 , elseif C=90 优秀 , elseif C=80&C=70&C=60&C70 及格 , else 不及格 , end 请输入成绩 C= 67 彈贸摄尔霁毙攬砖卤庑。ans =及格3. 编写脚本文件 exe32.m 使用 for 循环计 算 1 1000 的累加和 .程序源代码和调用及结果S=0;for x=1:1000

9、S=S+x;endS 謀荞抟箧飆鐸怼类蒋薔。S =500500思考:不使用循环,求解上题 . (使用 sum 函数)4. 编写脚本文件 exe33.m 使用 while 循环 计算从 1 开始的奇数的联乘积 S1, S1=1 3 5.要求 S11106 ,显示 S1 和 最后一个奇数的值 .程序源代码和调用及结果n=1;s=1;while s106S1=s;s=s*(n+2);n=n+2;end,S1,n-2厦礴恳蹒骈時盡继價骚。S1 =135135ans =135. (选做)编写脚本文件 exe34.m 使用 switch 语句改写 exe31.m ,完成相同功能 程序源代码和调用及结果C=

10、input( 请输入成绩 C= )if C100 error,else switch fix(C/10),case 10, 满分 ,case 9 , 优秀 ,case 8 , 良好 ,case 7 , 中等 ,case 6, 及格 ,otherwise 不及格 ,endend请输入成绩 C= 67 茕桢广鳓鯡选块网羈泪。C =67ans =及格6. (选做) 假设一个人从第 1 年到第 N=10 年每年投入本金 S 10000 元,每年利率为 q=10% ,编写循环求到第 N+1 年本利合计 T,与本金总额 S*N 比较 .(本题应先作出数 学模型再编程)程序源代码和调用及结果 S=10000

11、;S1=10000;N=10;q=0.1;for i=1:N;S2=S1*(1+q);S1=S2+10000 ;T=S2;endTS*N 鹅娅尽損鹌惨歷茏鴛賴。T =1.7531e+005 ans =100000 要求:记录程序源代码和调用及结果 .实验三: 直角坐标系和极坐标系下基本 2-D 图形的绘制实验目的:1. 掌握用 linspace 函数和初值 :步长 :终值 生成向量 .2. 熟悉使用 plot 在直角坐标系下绘制 2-D 图形.3. 掌握用 subplot 函数绘制子图图形,使 用 xlabel 、 ylabel 和 title 函数进行标注 .4. 掌握使用 polar 在极

12、坐标系下绘制函数 图形 .5. 使用 plot3 在直角坐标系下绘制3-D 图形 .实验内容: 籟丛妈羥为贍偾蛏练淨。1. 设 ,把 间分为 101 点,画出以 x 为横 坐标, y 为纵坐标的曲线 .x=linspace(0,2*pi,101); y=cos(x).*(0.5+3*sin(x)./(1+x.2);plot(x,y);2. 分别令 r=2 、3、4,用 subplot 画出参数 t=010 区间每隔 0.1 生成 xy 曲线 .預頌圣鉉 儐歲龈讶骅籴。t=0:0.1:10;for r=2:4; x=r*cos(t)+3*t; y=r*sin(t)+3; subplot(1,3,

13、r-1); plot(x,y);end 渗釤呛俨匀谔鱉调硯錦。3. 设 ,a) 若 =0.5 ,令 N=1,2,3,4, 使用循环语句在 4个 2*2 子图中分别画出其曲线,横轴标注 N 的取值 .a=0.5;t=0:0.1:10;for N=1:4x=sin(t); y=sin(N*t+a); subplot(2,2,N); plot(x,y); xlabel(N); endb) 若 N=2,取 ,使用循环语句在 4 个2*2 子图中分别画出其曲线 ,横轴标注 的取值 . 铙誅卧泻噦圣骋贶頂廡。N=2; t=0:0.1:10; a=0,pi/3,pi/2,pi;for m=1:4x=sin(

14、t);y=sin(N*t+a(m);subplot(2,2,m);4. (选做)以下给出双曲螺线、三叶玫瑰线、plot(x,y); xlabel(a(m); end箕舌线和双曲线的方程, 在 4 个 2*2 子图中 分别画出其曲线,横轴分别标注 “双曲螺 线”,“三叶玫瑰线 ”,“箕舌线 ”,“双曲线 保存为 curve.m 文件 .双曲螺线 ,三叶玫瑰线 , 箕舌线 ,双曲 线其中 a=2,b=3, 擁締凤袜备訊顎轮烂蔷。a=2;b=3; theta=0:0.01:2*pi; r=a./theta; subplot(2,2,1); polar(theta,r); xlabel( 双曲螺线 )

15、; r=a.*cos(3*theta); subplot(2,2,2); polar(theta,r);xlabel( 三叶玫瑰线 ); x=-5:0.1:5;y=8*a3./(x.2+4*a2); subplot(2,2,3); plot(x,y); xlabel( 箕舌线 ); y=-5:0.01:5;x=sqrt(a2/b2+a2*y.2./b2); subplot(2,2,4);plot(x,y,-x,y,b); xlabel( 双曲线 ); 贓熱俣阃歲匱阊邺镓騷。5. (选做 )a) 已知椭球面的曲面方程为 ,其中 a=4,b=3,c=1.5 用 plot3 函数作 3-D 图 .坛

16、摶 乡囂忏蒌鍥铃氈淚。a=4;b=3;c=1.5; x=-10:0.1:10; y=x;X,Y=meshgrid(x,y);Z=sqrt(c2-c2.*X.2./a2-c2.*Y.2./b2);plot3(X,Y,Z,X,Y,-Z) 蜡變黲癟報伥铉锚鈰赘。b) 已知鞍形曲面的方程为 ,其中 p=4,q=3 用 mesh 函数作 3-D 图 .p=4;q=3; x,y=meshgrid(-10:0.2:10,-10:0.2:10); z=-x.2/2*p+y.2/2*q;mesh(x,y,z); 買鲷鴯譖昙膚遙闫撷凄。c) 保存为 pict3d.m.实验要求: 记录命令代码或函数代码和输出结果,

17、 有图 形输出的要绘图 .实验四:matlab 应用于数字图像增强和滤波 实验目的:1. 熟悉灰度图像读入函数 imread 和图像显 示函数 imshow.2. 掌握数据类型强制转换函数y=double(x).( 注意进行运算前类型为 uint8 的数据必须转换为 double 类型 ).3. 掌握使用函数映射增强图像的方法 .4. 熟悉使用 imhist 函数显示图像直方图 .5. 熟悉使用 histeq 函数进行直方图均衡化 通过实验结果理解直方图均衡化的作用 .6. 掌握加噪函数 imnoise 函数 .7. 熟悉常用空域平滑滤波和锐化滤波模 板,如下:平滑滤波模板 ,锐化滤波模板8.

18、 掌握空域滤波 2-D 卷积函数 y=conv2(x,d, same的调)用 .其中 x 为原始 图像, y 为滤波后图像, d 为滤波模板 .9. (选做 )熟悉切贝雪夫 I型滤波器设计函数 cheby1, 滤波网络频率特性函数 freqz 和二 维滤波 filter2 函数 .綾镝鯛駕櫬鹕踪韦辚糴。实验内容:1. 根据简单的函数映射规则编写程序 experiment.m, 完成图像求反、增强对比度、 降低对比度 .(1). 在 MATLAB 中读入名为 lena.bmp 的图像给矩阵 X ,将 X 强制类型转换为 double.(2). 对原始图像求反 ,即黑色 ?白色 ,形成 底片效果

19、,结果赋值给矩阵 X1. 要求原图像灰度范围 0255, 求反后灰度变 化范围 2550.(3). 对原始图像 X 降低对比度 ,结果赋值 给矩阵 X2.( 提示:使用一次直线映射 ) 要求原图像灰度范围 0255, 降低对比度后 灰度变化范围 0127.(4 ). 对降低对比度后的图像 X2 增强对比 度(提示 :使用指数函数映射 ), 结果赋值给矩 阵 X3, 要求与原始图像外观类似 .(5) . 在 figure No.1 显示原图像、求反图 像、增强对比度图像和降低对比度图像的图 像与直方图 ,并添加标注说明 .(6) . 对降低对比度后图像矩阵 X2 使用 histeq 函数进行直方

20、图均衡化 ,结果赋值给 矩阵 X4.在 figure No.2 显示降低对比度后图 像与直方图均衡化后图像 ,并添加标注说明 . 驅踬髏彦浃绥譎饴憂锦。x=imread(lena.bmp); x=double(x)/255; x1=1-x;x2=(floor(x*255/2)/255); x3=(exp(x2*255/10)/255;figure,subplot(4,2,1),imshow(x)title( 原图像 ); subplot(4,2,2),imhist(x);title( 原图像直方图 ); subplot(4,2,3),imshow(x1);title( 求反图像 ); subp

21、lot(4,2,4),imhist(x1); title( 求反图像直方图 ); subplot(4,2,5),imshow(x2);title( 增强对比度图像 ); subplot(4,2,6),imhist(x2);title( 增强对比度图像直方图 ); subplot(4,2,7),imshow(x3);title( 降低对比度图像 ); subplot(4,2,8),imhist(x3);title( 降低对比度图像直方图 ); figure,subplot(1,2,1),imshow(x2);title( 降低对比度图像 ); subplot(1,2,2),imshow(x4);

22、title( 直方图均衡化图像 ); 猫虿驢绘燈鮒诛髅貺 庑。2. 以下将所有代码写成名为 imfil.m 的脚本 文件,存盘 .在 command window 中运行 .( 1) . 在 MATLAB 中读入名为 eight.tif 的 图像给矩阵 X,将 X 强制类型转换为 double ,最大值归一化并显示 X.( 2) . 使用 imnoise 函数对图像矩阵 X 加噪,加噪后图像矩阵名为 J.要求噪声为零均 值,方差 0.005 的高斯噪声 .(3) . 使用以上给出的平滑滤波模板和 conv2 函数对加噪图像进行平滑滤波即降 噪,输出图像 Y1 并显示 .(4) . 使用以上给出

23、的锐化滤波模板和 conv2 函数对图像 X 进行锐化滤波即边缘增 强,输出图像 Y2 并显示 .(5 ). 在一个图形窗口中建立 22 子窗口, 分别显示原始图像 X,加噪图像 J,降噪后图 像 Y1 和边缘增强图像 Y2. 锹籁饗迳琐筆襖鸥娅 薔。X=imread(eight.tif);Y=double(X);x=(255-Y)./255;J=imnoise(x,gaussian,0,0.005); d1=0.1.*1,1,1;1,2,1;1,1,1;Y1=conv2(J,d1,same); d2=0,-1,0;-1,5,-1;0,-1,0;Y2=conv2(Y,d2,same);subp

24、lot(2,2,1),imshow(X);title( 原图象 ); subplot(2,2,2),imshow(J);title( 加噪图象 ); subplot(2,2,3),imshow(Y1);title( 降噪后图 象);subplot(2,2,4),imshow(Y2/max(max(Y2)+Y/255);title( 边缘增强图象 );構氽頑黉碩饨荠龈 话骛。3. (选做 )编写程序 specfil.m ,完成理想滤波 器对一幅图像的低通、 高通滤波, 比较并分 析结果 .(1) . 在 MATLAB 中读入名为 lena.bmp 的图像给矩阵 X ,将 X 强制类型转换为( 2

25、). 用 cheby1 分别设计低通和高通滤波 器并对原始图像 X 进行滤波, 低通滤波后图 像为 X1 ,高通滤波后图像为 X2.(3). 在 Figure NO 1 中开设 1*3 个子窗 口显示原始图像 X 、低通滤波后图像 X1 和 高通滤波后图像 X2.4. ( 选做)编写函数 f2,f3=photo(ut), 图像文 件名为 lena256.bmp ,第 ut 行为破损行, 即令该行值全为 255, 文件存为 lena2.bmp, 编写程序进行预测修补,文件保存为 lena3.bmp.其中图像文件读入函数为 imread, 写出函数 为 imwrite ,无符号 8 位整型数转换为

26、双精 度类型函数为 double ,其逆运算函数为 uint8.实验要求: 记录命令代码或函数代码和输出结果, 实验 三依次输入 ut=1,ut=110 和 ut=256 进行测 试.輒峄陽檉簖疖網儂號泶。实验五:函数编写与程序调试实验目的:1. 掌握函数的编写y1,y2 =functionname(x1,x2, 明),确输 入变量与输出变量,掌握函数的调用 .2. 熟悉使用 if end中插入 error,break 终 止循环 .3. 熟悉掌握使用设置断点的方法进行程序 调试.实验内容:1. 设 ,写出一个 MATLAB 函数程序 f31.m , 使得调用 f31 时,x 可用矩阵代入,得

27、出的 f(x)为同阶矩阵 .画出 x=0,4区间内的 f31 曲 线.(P87 4.19)double.function y=f31(x)y=1./(x-2).2+0.1)+1./(x-3).4+0.01); plot(x,y); 尧侧閆繭絳闕绚勵蜆贅。2. 寻找 Fibonacc 数组中大于 N 的元素 T 并 显示从 1 开始截止到 N 的全部数组 S, Fibonacc 数组如下 : 1 1 2 3 5 8 13 21 34 55. 方法一 . 编写 function S,T=findfib(N) 函数文件 ,使用 while 循环 . function S,T=findfib(N)S=

28、1,1;i=1;while S(i)+S(i+1)N;break;endendT=f(m+2);f(m+2)=;S=f;输出结果:S,T=findfib1(100) 恥諤銪灭萦欢煬鞏鹜錦。S =1 1 2 3 5 8 13 2134 55 89 鯊腎鑰诎褳鉀沩懼統庫。T =1443. 使用两种方法根据 模型画出一组椭圆 , 其中 a 为 0.54.5 间隔 0.25 的一组数 ,要求 横轴标注 X纵轴,标注 Y图,形标题标注 一 组 a=0.54.5 的椭圆 .方法一 . 使用 for 循环 做出 exp1.m 文件 .clear all;close all;for a=0.5:0.25:4.

29、5;thita=0:0.01:2*pi; x=a.*cos(thita);y=sqrt(25-a.2).*sin(thita);plot(x,y);axis(equal);grid on;hold on;title( 一组 a=0.54.5 的椭圆 );xlabel(X);ylabel(Y);end 硕癘鄴颃诌攆檸攜驤蔹。方法二 .不使用 for 循环 ,编写函数 function x,y= exp2(a), 在 command window 中给 a 赋值 , 调用 exp2 函数作图 .function x,y= exp2(a)thita=0:0.01:2*pi;x=cos(thita)*

30、a;y=sin(thita)*sqrt(25-a.2);plot(x,y,b-);axis(equal);值和特征向量 .方程如下:A=3,1,0,5;0,-6,7,3;0,4,3,0;2,-1,2,6;grid on; hold on;title( 一组 a=0.54.5 的椭圆 ); xlabel(X); ylabel(Y);阌擻輳嬪諫迁择楨秘騖。比较两种方法 .提示 :使用下列一段程序可以画单位圆 . clear all;close all;thita=0:0.01:2*pi; R=1; x=R*cos(thita);y=R*sin(thita);plot(x,y);axis(equal

31、);grid on;4. (选做) 现有一个 2 维数组 X ,X=1:10;45 98 67 54 83 64 85 95 72 24. 第一行对应学 号,第二行对应成绩,找出成绩在 AB 之 间的同学的学号及对应的成绩, 形成数组 Y 输出 . 提示:if 条件控制语句与循环语句结合B=2;4;7;8;X=ABe,r=eig(A) 釷鹆資贏車贖孙滅獅赘。X =-4.82471.39440.47413.0159-0.1431-0.9081-0.68490.43880.92260.0627-0.2268-0.4036-0.3327-0.1107-0.1737-0.75680.13300.398

32、9-0.67020.2680 怂阐譜鯪迳導嘯畫長凉使用,考虑使用何种循环结构 .实验要求: 记录命令代码或函数代码和输出结果, 氬嚕r = 躑竄贸恳彈瀘颔澩。实验六: MATLAB 常用函数库:多项式函 数库实验目的:1. 掌握线性方程的求解和矩阵特征值与特 征向量的求解 .2. 熟悉掌握多项式的求导、求根和求值 .3. 熟悉常用的数据分析与统计函数 .4. 掌握 roots 、 poly 和 polyval 函数并比较 区别.实验内容:1. 求方程 AX=B 的解,并求矩阵 A 的特征-8.0919 0 0 00 0.7348 0 00 0 8.2238 00 0 0 5.13332. 求代

33、数方程 的所有根 . a=3,4,7,2,9,12;ra=roots(a)ra = 谚辞調担鈧谄动禪泻類。-0.8612 + 1.4377i-0.8612 - 1.4377i0.6737 + 1.0159i0.6737 - 1.0159i-0.95833. 把 1 开五次方,并求其全部五个根 . b=1,0,0,0,0,-1;rb=roots(b) 嘰觐詿缧铴嗫偽純铪锩。rb =-0.8090 + 0.5878i-0.8090 - 0.5878i0.3090 + 0.9511i0.3090 - 0.9511i1.0000 熒绐譏钲鏌觶鷹緇機库。4. 设方程的根为 x=-3,-5,-8,-9,

34、求它们对 应的 x 多项式的系数 .x=-3,-5,-8,-9; a=poly(x) 鶼渍螻偉阅劍鲰腎邏蘞。a =1 25 223 83110805. 编写函数 function max1,min1,mean1=stat(a) 求从 comp.mat 文件中读入的成绩数组 a 的最大 值 max1, 最小值 min1, 和均值 mean1. functionmax1,min1,mean1=stat(a);max1=max(a) ;min1=min(a) ; mean1=mean(a) ; 纣忧蔣氳頑莶驅藥悯骛。load comp;max1,min1,mean1=stat(a)max1 =94m

35、in1 =29 mean1 =72.30006. 设a) x=-2,8 之间函数的值(取 100 个点), 画出曲线, 观察有几个过零点 .(用 polyval 函数)b) 用 roots 函数求此多项式的 根.x=linspace(-2,8,100);y=1,-4,0,3,-2,6;z=polyval(y,x); plot(x,z/1000) grid onr=roots(y) 颖刍莖蛺饽亿顿裊赔泷。3.7999-1.26071.34790.0564 + 0.9623i0.0564 - 0.9623i7. 上题写成一个函数文件 f1.m ,用 fzero 函数求它的过零点,若在该函数中加一项

36、 xsin(x), 求过零点 .function f=f1(x);a=1 -4 0 3 -2 6;f=polyval(a,x); x=linspace(-2,8,100);z=fzero(f1,-1) 濫驂 膽閉驟羥闈詔寢賻。- 10 -1.2607 x=linspace(-2,8,100);z=fzero(f1,1)z =1.3479 x=linspace(-2,8,100);z=fzero(f1,3)z =3.7999function f=f2(x);a=1 -4 0 3 -2 6;y0=polyval(a,x);y1=x.*sin(x);f=y0+y1; x=linspace(-2,8,

37、100);z=fzero(f2,-1) 銚銻 縵哜鳗鸿锓謎諏涼。z =-1.2943 x=linspace(-2,8,100);z=fzero(f2,1)z =1.4269 x=linspace(-2,8,100);z=fzero(f2,3)z =3.81258. (选做) 使用多路分支结构 switch 语句 编写函数 z=polycal(x,y,s); 完成多项式 x 与 多项式 y 的加减乘除运算, 其中 s 为字符串, 意义如下:+ 表示多项式加法- 表示多项式减法* 表示多项式乘法/ 表示多项式除法 注意当两参与运算的多项式不等长时, 式加法和减法的处理 .function z=po

38、lycal(x,y,s) x1=length(x);y1=length(y);if (x1y1)y=zeros(1,x1-y1),y;elsex=zeros(1,y1-x1),x;endswitch scase +z=x+y;case -z=x-y;case *z=conv(x,y);case /z=deconv(x,y);end a=1 3 5 7;b=3 6 9;z=polycal(x,y,+) 貼綬电麥结鈺贖哓类。z =1 4 6 a=1 3 5 7;b=3 6 9;z=polycal(x,y,-) 荊紳谘侖驟辽輩袜錈。z =1 0 0 a=1 3 5 7;b=3 6 9;z=polyc

39、al(x,y,*) 礙籟馐决穩賽釙冊庫。多项- 11 - 12 -0 2 7 12 9实验要求: 记录命令代码或函数代码和输出结果 .实验七: MATLAB 常用函数库 -多项式函数 库( 2)和数值积分函数库实验目的:1. 掌握利用多项式求值函数 polyval 求系统 频率特性的方法 .2. 熟悉多项式拟和函数 polyfit 的使用 .3. 熟悉线性微分方程的求解和求系统响应 的方法 .4. 熟悉非线性函数的分析和 fplot 、 fmin 、 fzero 函数调用 .实验内容:1. 已知系统传递函数 ,不使用 freqs 函数 求系统幅频特性和相频特性曲线, 横轴采用 半对数坐标 .裊

40、樣祕廬廂颤谚鍘羋蔺。b=1;a=1,1;omg=logspace(-2,4);H=polyval(b,j*omg)./polyval(a,j*omg); subplot(2,1,1);semilogx(omg,abs(H);xlabel( 幅频特性 ); subplot(2,1,2);semilogx(omg,angle(H);xlabel( 相频特性 ); 仓嫗盤紲嘱珑詁鍬齊驁。2. 一组原始数据为学生的序号和身高,存 放在 datt.mat 文件中 .拟和多项式次数为 n=1,2,4,7,9,10 ,使用循环编写程序作 2*3=6 幅子图, 用红色圆圈标注原始数据点, 用兰 色实线绘制拟和

41、曲线,横轴标注 n 的取值 . clear all;close all;load datt;x=data(:,1);y=data(:,2);M=1 2 4 7 9 10xi=linspace(1,10,10);for n=1:6a=polyfit(x,y,M(n); yi=polyval(a,xi);subplot(2,3,n);plot(x,y,ro,xi,yi,b);xlabel(M(n);end 绽萬璉轆娛閬蛏鬮绾瀧。3. 已知描述系统的微分方程如下: 不使用 impulse 和 step 函数求输入为单位冲激信 号和单位阶跃信号时系统响应的数值解, 并 出 t 在 0,6 区间的响应曲

42、线 .(提示:使用循 环语句求数值解) clear all;close all;a=1 3 2;b=1 3;r,p,k=residue(b,a);t=0:0.1:6;yi=0;for n=1:length(r)yi=yi+r(n)*exp(p(n)*t);endsubplot(1,2,1) plot(t,yi);a=1 3 2 0;b=1 3;r1,p1,k1=residue(b,a);ys=0;for m=1:length(r1) ys=ys+r1(m)*exp(p1(m)*t);end subplot(1,2,2);plot(t,ys); 骁顾燁鶚巯瀆蕪領鲡赙。4. 设 ,画出它在 x=0

43、,4 区间内的曲线, 求出它的过零点和两个过零点之间极小值 的数值 .clear all;close all; f=inline(x.3-2.*x.2.*sin(x)+5.*x.*cos(x)+1. /x)fplot(f,0,4)z1=fzero(f,1)z2=fzero(f,3) min=fminbnd(f,1,3) z1 = 瑣钋濺暧惲锟缟馭篩凉。1.5117z2 =2.6095min =2.1589实验要求: 记录命令代码或函数代码和输出结果, 有图 形输出的要绘图 .实验八: MATLAB 常用函数库 -数值积分函 数库和字符串函数库实验目的:1. 熟悉任意函数的数值积分使用 quad

44、 和 ode23 函数 .2. 掌握字符串的赋值、执行 eval 函数 .3. 掌握字符串输入输出 sprintf 函数 .4. 熟悉字符串与数的转换函数 num2str 和 字符串的串接 .实验内容:1. 设 ,求此曲线在 x 轴上方第一块所围的 面积的大 小.y=inline(x.3-2.*x.2.*sin(x)+5.*x.*cos( x)+1./x);fplot(y,-5,1);grid;z1=fzero(y,-1);z2=fzero(y,-3);s=quad(y,z2,z1) 鎦诗涇艳损楼紲鯗餳類。s =2.27942. 已知微分方程 ,若 y(0)=1, 求它在 x=0,5 区间内的数值积分,并画出曲线 .function T=m(x,y);T=x.2/y-x.*cos(y); 栉缏歐锄棗鈕种鵑瑶锬。 x=0:0.1:5;x,y=ode23(m,0,5,1); plot(x,y);grid 辔烨棟剛殓攬瑤丽阄应。3. 用 for 循环和 eval 语句实现 y(n)=magic(n),(n=3,4,5) ,编写程序 . for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论