111000214_黄宇辉_matlab2011实验2

合集下载

MATLAB - 第二次试验结果

MATLAB - 第二次试验结果



7、8 节课 张皓
指导老师
2.从键盘输入 a, b, c 的值,输出一元二次方程 ax 2 + bx + c = 0 的根。
%Ex02_02 function Ex02_02() disp(['一元二次方程是: a*x^2+b*x+c=0,请输入 各系数']); a=input('a='); b=input('b='); c=input('c='); roots([a b c])
price=input('请输入商品的价格='); zk=0.*(price<200)+... 0.03.*((price<500)&(price>=200))+... 0.05.*((price>=500)&(price<1000))+... 0.08.*((price>=1000)&(price<2500))+... 0.1.*((price>=2500)&(price<5000))+... 0.14.*(price>=5000); p=price*(1-zk); disp(['折扣=',num2str(zk*100),'%']) disp(['实际销售价钱=',num2str(p),'元'])
将它们的值互换后输出。 %Ex02_01 function exchange(x,y) %用来实现数据交换 disp(['交换前:x=',num2str(x),',y=',num2str(y)]); z=x; x=y; y=z; disp(['交换后:x=',num2str(x),',y=',num2str(y)]);

matlab2011实验2参考答案

matlab2011实验2参考答案

MATLAB实验二MATLAB符号计算试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到maya_email@。

凡文档命名不符合规范,或者发送方式不正确,不予登记。

一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1 多项式运算(必做)1.1解方程:f(x)=x^4-10*x^3+34*x^2-50*x+25=0%采用数值方法:>> f=[1 -10 34 -50 25];>> roots(f)%采用符号计算方法:f1=sym('x^4-10*x^3+34*x^2-50*x+25')solve(f1)1.2求有理分式R=(3x^3+x)(x^3+2)/((x^2+2x-2)(5x^3+2x^2+1))的商多项式和余多项式.a1=[3 0 1 0] ;a2=[1 0 0 2] ;a=conv(a1,a2) ;b1=[1 2 -2] ;b2=[5 2 0 1] ;b=conv(b1,b2) ;[p,r]=deconv(a,b) ; %注意:a b 秩序不可颠倒。

% residue用于实现多项式的部分分式展开,此处用deconv函数%%此题,有同学程序如下:x1=[3 0 1 0],x2=[1 0 0 2],x3=[1 2 -2],x4=[5 2 0 1]x5=conv(x1,x2)[y6,r]=deconv(x5,x3)R=deconv(y6,x4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。

MATLAB实验指导书(DOC)

MATLAB实验指导书(DOC)

MATLAB实验指导书前言MATLAB程序设计语言是一种高性能的、用于科学和技术计算的计算机语言。

它是一种集数学计算、分析、可视化、算法开发与发布等于一体的软件平台。

自1984年MathWorks公司推出以来,MATLAB以惊人的速度应用于自动化、汽车、电子、仪器仪表和通讯等领域与行业。

MATLAB有助于我们快速高效地解决问题。

MATLAB相关实验课程的学习能加强学生对MATLAB程序设计语言理解及动手能力的训练,以便深入掌握和领会MATLAB应用技术。

目录基础型实验............................................................................................ - 1 - 实验一MATLAB集成环境使用与基本操作命令练习 ............. - 1 - 实验二MATLAB中的数值计算与程序设计 ............................. - 7 - 实验三MATLAB图形系统 ......................................................... - 9 -基础型实验实验一 MATLAB 集成环境使用与基本操作命令练习一 实验目的熟悉MATLAB 语言编程环境;熟悉MATLAB 语言命令二 实验仪器和设备装有MATLAB7.0以上计算机一台三 实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

1.1 基本规则1.1.1 一般MATLAB 命令格式为[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。

1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。

matlab_实验2

matlab_实验2

课程实验报告学年学期2014-2015学年第1学期课程名称MATLAB与科学计算实验名称实验二MATLAB计算的可视化实验室测量测绘实验中心计算机室专业年级电气121学生姓名杨岚学生学号2012012088提交时间2014/11/5成绩任课教师许景辉、牛亚斌水利与建筑工程学院实验二MATLAB计算的可视化1、目的和要求(1)熟练掌握MATLAB二维曲线、三维图形的绘制。

(2)熟练掌握各种特殊图形的绘制。

(3)熟练掌握三维图形绘制命令。

(4)了解GUI设计的一般过程和方法。

2、内容和步骤参见教材实验四。

3、实验报告提交要求(1)x=[123],y=[12;23;58],z=[269;388;157],绘制plot(x,y)、plot(x,z),说明其各自绘制的内容。

(2)绘制如下图形,建立figure(2),绘图同样曲线,但标题为“你的姓名(黑体,16号字)”,在x坐标和y坐标上分别标识学号和班级名称,并将网格线打开。

(3)演示P133页,例题4.17。

(4)完成课本P336图S4.1实验,并用.m文件显示其程序内容。

(5)完成P302第四章例题4.(6)通过绘制二阶系统阶跃响应,综合演示图形标识,请注释每条命令的含义。

(7)运行以下程序,说明plotyy的格式及功能。

x=0:6y=[1356826];b=y.^(1/10)+100plotyy(x,y,x,b)运行结果如下图所示:plotyy的格式是plotyy(x1,y1,x2,y2)其作用是以左右不同纵坐标绘制2条曲线,左纵标用于(x1,y1)数据,右纵坐标用于(x2,y2)数据绘制2条曲线。

(8)运行以下二阶系统时域波形演示程序,说明动画的设计方法。

n=20;for i=1:n%循环次数x=0:0.1:i;y=1-1/sqrt(1-0.3^2)*exp(-0.3*x).*sin(sqrt(1-0.3^2)*x+acos(0.3));plot(x,y)%绘制曲线axis([0,20,0,1.5]);%确定坐标轴的范围M(i)=getframe;%抓取画面endmovie(M,3)%播放数组M的画面程序运行的最终结果:该程序是以电影的方式产生动画:首先使用for循环,画出不同阶段的波形画面,再使用getframe命令抓取图形作为画面,每个画面以1个列向量的方式,置于存放整个电影的矩阵M中;最后使用movie命令播放电影。

MATLAB实验报告2

MATLAB实验报告2

MATLAB实验报告2成绩:______实课程名称:实验名称:院(系):专业班级:姓名:学号:指导教师:验报告现代控制理论基础线性系统理论上机实验信控学院自动化1001 嵇启春年月日实验一:matlab运算基础日期: 2011 年 3月 9日评分:_________ 批阅教师签字:________ 班级:自动化1001 姓名:韩永龙学号:100610106一、实验目的1.2.3.4. 熟悉启动和退出matlab的方法。

熟悉matlab命令窗口的组成。

掌握建立矩阵的方法。

掌握matlab各种表达式的书写规则以及常用函数的使用。

二、实验环境matlab 6.5 开发平台三、实验内容1. 先求下列表达式的值,然后显示matlab工作空间的使用情况并保存全部变量。

(1)z1=1?2i??22sin8512?x(2)z=ln(x+) , 其中x=??0.45? 251?e22?? e0.3a?e?0.3a0.3?a(3)z3=sin(a+0.3)+ln ,a=-3.0,-2.9,-2.8,…,2.8,2.9,3.022 (提示:利用冒号表达式生成a向量,求个点的函数值时用点乘运算。

) ?t20?t?1?(4)z4= ?t2?11?t?2 ?t2?2t?12?t?3?求分段函数值。

)2. 已知:,其中t=0:0.5:2.5(提示:用逻辑表达式1234?4??13?1 3 a=34787 b=20??3657???3?27??求下列表达式的值:(1) a+6*b和a-b+i(其中i为单位矩阵) (2) a*b和a.*b(3) a^3和a.^3(4) a/b及b\a(5) [a,b]和[a([1,3], : );b^2] 3. 设有矩阵a和b1234?6789?a=?11121314??16171819212223245??3016??17?69?1015?b=?023?4? ???20?970???25???41311??(1) 求它们的乘积c。

Matlab实验报告

Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。

所以用Maltab 软件很方便地画出规则的直线,方便研究。

实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。

Matlab 实验2-m文件程序设计

Matlab 实验2-m文件程序设计

实验2. m文件程序设计一、实验目的1.通过练习理解matlab编程方法;2.掌握分支结构程序设计思路;3.掌握循环结构程序设计思路。

二、实验环境1.计算机2.matlab7.1三、实验说明1.熟悉matlab7.1运行环境,正确操作,认真观察;2.实验学时:2学时;3.学会使用help;4.编写程序前先写出程序的流程图框架;5.自主编写调试程序直到正确为止,必要时参考相关资料,;6.保存整理实验结果,提交实验报告。

四、实验内容1. 输入一个百分制成绩,要求输出成绩等级为:A、B、C、D、E,其中90-100为A;80-89为B;70-79为C;60-69为D;60以下为E1)用if或switch语句实现;2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩要输出出错信息提示,比如:输入成绩不能大于100。

3)程序保存名为sy3加上本人学号程序:score=input('请输入分数:');if(score>100)|(score<0)error('分数超出范围,请输入0-100间的值')endswitch floor(score/10)case{0,1,2,3,4,5}disp('E');case{6}disp('D');case{7}disp('C');case{8}disp('B');case{9}disp('A');otherwisedisp('wrong');End结果:请输入分数:56E请输入分数:66D请输入分数:76C请输入分数:86B请输入分数:96A请输入分数:101??? Error using ==> sy3200912512分数超出范围,请输入0-100间的值Error in ==> sy3200912512 at 3error('分数超出范围,请输入0-100间的值')2.某公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15%;(2)工作时数低于60小时者,扣发700元;(3)其余按每小时84元计发。

MATLAB第二章实验报告

MATLAB第二章实验报告

MATLAB数据及基本操作班级:11电信一班姓名:何得中学号:20111060108实验目的:1.熟悉MATLAB的组体成体系及工作环境;2.了解MATLAB的帮助系统;3.掌握MATLAB的数据类型及变量的基本操作;4.掌握矩阵建立的基本方法及其运算;5.掌握矩阵索引与分析方法;6.熟悉字符串单元及结构数据的建立及基本操作。

实验仪器:MA TLAB软件,电脑实验数据:>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> A=[1 2 34 5 67 8 9]A = 1 2 34 5 67 8 9>> x=0:pi/8:2*pi;>> y=cos(x)y = Columns 1 through 101.0000 0.9239 0.7071 0.3827 0.0000 -0.3827 -0.7071 -0.9239 -1.0000 -0.9239Columns 11 through 17-0.7071 -0.3827 -0.0000 0.3827 0.7071 0.9239 1.0000>> B=ones(3,5)B = 1 1 1 1 11 1 1 1 11 1 1 1 1>> zeros(3)ans = 0 0 00 0 00 0 0>> C=rand(3,4)C = 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919>> D=randn(2,3)D = -0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909>> eye(3)ans = 1 0 00 1 00 0 1>> M=magic(4)M = 16 2 3 135 11 10 89 7 6 124 14 15 1>> T=toeplitz(1:5,1:6)T = 1 2 3 4 5 62 1 234 53 2 1 2 3 44 3 2 1 2 35 4 3 2 1 2>> H=hilb(5)H = 1.0000 0.5000 0.33330.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111>> a=3:18a =3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18>> b=1:0.2:6b =Columns 1 through 91.0000 1.2000 1.4000 1.600 1.80002.0000 2.2000 2.4000 2.6000 Columns 10 through 182.80003.0000 3.2000 3.40003.6000 3.80004.0000 4.2000 4.4000 Columns 19 through 264.6000 4.80005.0000 5.20005.4000 5.6000 5.80006.0000>> linspace(1,15,10)ans =Columns 1 through 91.00002.5556 4.1111 5.6667 7.2222 8.7778 10.3333 11.8889 13.4444Column 1015.0000>> y=[0.9 0.3 0.4 0.1 0.5 0.6 0.2 ]; >> [sorted,index]=sort(y)sorted =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.9000 index =4 7 2 3 5 6 1>> A=rand(4,5)A = 0.9218 0.9355 0.0579 0.13890.27220.7382 0.9169 0.3529 0.2028 0.19880.1763 0.4103 0.8132 0.1987 0.01530.4057 0.8936 0.0099 0.6038 0.7468>> [a,b]=min(A)a =0.1763 0.4103 0.0099 0.13890.0153b = 3 3 4 1 3>> min(A(:))ans = 0.0099>> V=[1 2 3 4]V = 1 2 3 4>> norm(V,2)ans =5.4772>> norm(V,1)ans = 10>> norm(V,inf)ans = 4>> V=[2 5 6 8 4 9]V = 2 5 6 8 4 9>> min(V)ans = 2>> V=[4 9 6;7 8 9;4 5 6]V = 4 9 67 8 94 5 6>> min(V)ans = 4 5 6>> max(V)ans = 7 9 9>> mean(V)ans = 5.0000 7.3333 7.0000>> median(V)ans = 4 8 6>> std(V)ans = 1.7321 2.0817 1.7321>> diff(V)ans =3 -1 3-3 -3 -3>> sort(V)ans =4 5 64 8 67 9 9>> length(V)ans = 3>> norm(V)ans =19.9125>> sum(V)ans = 15 22 21>> prod(V)ans =112 360 324>> cumsum(V)ans = 4 9 611 17 1515 22 21 >> cumprod(V)ans = 4 9 628 72 54112 360 324>> V=[1 2 8]V = 1 2 8>> U=[3; 4;7]U = 347>> dot(V,U)ans =67>> cross(V,U)ans =-18 17 -2>> A=[5 6 4;7 8 9;4 5 6]A = 5 6 47 8 94 5 6>> B=[6 2 7 ;7 5 8;4 6 8]B = 6 2 77 5 84 6 8>> C=A-BC = -1 4 -30 3 10 -1 -2>> C=A*BC = 88 64 115134 108 18583 69 116>> C1=A\BC1 =0.6667 -6.4444 -7.66670.6667 4.8889 7.3333-0.3333 1.2222 0.3333>> C2=B/AC2 = -3.0000 8.3333 -9.3333-1.6667 5.5556 -5.88890.0000 -1.3333 3.3333>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> D=A^2D = 30 36 4266 81 96102 126 150>> E=A^0.1E = 0.8466 + 0.2270i 0.3599 + 0.0579i -0.0967 - 0.1015i0.4015 + 0.0216i 0.4525 + 0.0133i 0.4432 - 0.0146i-0.0134 - 0.1740i 0.4848 - 0.0509i 1.0132 + 0.0820i>> A=[1+2*i 3;4 2+i]A =1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A'ans = 1.0000 - 2.0000i 4.00003.0000 2.0000 - 1.0000i>> A=[1 2 3;4 5 6;7 8 9]A = 1 2 34 5 67 8 9>> B=[3 4 6;7 9 8;5 2 01]B = 3 4 67 9 85 2 1>> C=A.*BC = 3 8 1828 45 4835 16 9>> D=A./BD = 0.3333 0.5000 0.50000.5714 0.5556 0.75001.4000 4.0000 9.0000>> E=A.\BE = 3.0000 2.0000 2.00001.7500 1.8000 1.33330.7143 0.2500 0.1111>> A=[1+2*i 3;4 2+i]A = 1.0000 + 2.0000i 3.00004.0000 2.0000 + 1.0000i>> A.^2ans = -3.0000 + 4.0000i 9.000016.0000 3.0000 + 4.0000i>> A.'ans = 1.0000 + 2.0000i 4.00003.0000 2.0000 + 1.0000i>> x=0.1:0.1:0.8x =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> y=sin(2*x).*cos(2*x)y =0.1947 0.3587 0.4660 0.4998 0.4546 0.3377 0.1675 -0.0292>> y=sin(x)y =0.0998 0.1987 0.2955 0.3894 0.4794 0.5646 0.6442 0.7174>> y=cos(x)y =0.9950 0.9801 0.9553 0.9211 0.8776 0.8253 0.7648 0.6967>> y=tan(x)y =0.1003 0.2027 0.3093 0.4228 0.5463 0.6841 0.8423 1.0296>> y=cot(x)y =9.9666 4.9332 3.2327 2.3652 1.8305 1.4617 1.1872 0.9712>> y=sec(x)y = 1.0050 1.0203 1.0468 1.0857 1.1395 1.2116 1.3075 1.4353>> y=csc(x)y = 10.0167 5.0335 3.3839 2.5679 2.0858 1.7710 1.5523 1.3940>> y=asin(x)y = 0.1002 0.2014 0.3047 0.4115 0.5236 0.6435 0.7754 0.9273>> y=acos(x)y = 1.4706 1.3694 1.2661 1.1593 1.0472 0.9273 0.7954 0.6435>> y=atan(x)y =0.0997 0.1974 0.2915 0.3805 0.4636 0.5404 0.6107 0.6747>> y=acot(x)y = 1.4711 1.3734 1.2793 1.1903 1.1071 1.0304 0.9601 0.8961>> y=asec(x)y =Columns 1 through 60 + 2.9932i 0 + 2.2924i0 + 1.8738i 0 + 1.5668i 0 +1.3170i 0 + 1.0986iColumns 7 through 80 + 0.8956i 0 + 0.6931i>> y=sinh(x)y =0.1002 0.2013 0.3045 0.4108 0.5211 0.6367 0.7586 0.8881>> y=cosh(x)y =1.0050 1.0201 1.0453 1.0811 1.1276 1.1855 1.2552 1.3374>> y=tanh(x)y = 0.0997 0.1974 0.2913 0.3799 0.4621 0.5370 0.6044 0.6640>> y=coth(x)y = 10.0333 5.0665 3.4327 2.6319 2.1640 1.8620 1.6546 1.5059>> y=sech(x)y = 0.9950 0.9803 0.9566 0.9250 0.8868 0.8436 0.7967 0.7477>> y=csch(x)y = 9.9834 4.9668 3.2839 2.4346 1.9190 1.5707 1.3182 1.1260>> y=asinh(x)y = 0.0998 0.1987 0.2957 0.3900 0.4812 0.5688 0.6527 0.7327>> y=acosh(x)y =Columns 1 through 60 + 1.4706i 0 + 1.3694i0 + 1.2661i 0 + 1.1593i 0 +1.0472i 0 + 0.9273iColumns 7 through 80 + 0.7954i 0 + 0.6435i>> y=atanh(x)y = 0.1003 0.2027 0.3095 0.4236 0.5493 0.6931 0.8673 1.0986>> y=acoth(x)y = Columns 1 through 60.1003 + 1.5708i 0.2027 + 1.5708i 0.3095 + 1.5708i 0.4236 + 1.5708i 0.5493 + 1.5708i 0.6931 + 1.5708i Columns 7 through 80.8673 + 1.5708i 1.0986 + 1.5708i >> y=asech(x)y = 2.9932 2.2924 1.8738 1.5668 1.3170 1.0986 0.8956 0.6931>> y=acsch(x)y = 2.9982 2.3124 1.9189 1.6472 1.4436 1.2838 1.1545 1.0476>> y=log(x)y =-2.3026 -1.6094 -1.2040 -0.9163 -0.6931 -0.5108 -0.3567 -0.2231>> y=log10(x)y = -1.0000 -0.6990 -0.5229 -0.3979 -0.3010 -0.2218 -0.1549 -0.0969>> y=log2(x)y =-3.3219 -2.3219 -1.7370 -1.3219 -1.0000 -0.7370 -0.5146 -0.3219>> c=complex(a,b)c = 0.1763 + 3.0000i 0.4103 + 3.0000i0.0099 + 4.0000i 0.1389 + 1.0000i 0.0153 + 3.0000i>> zc=conj(x)zc =0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000>> b=imag(x)b = 0 0 0 0 0 00 0>> a=real(x)a = 0.1000 0.2000 0.3000 0.40000.5000 0.6000 0.7000 0.8000>> y=fix(x)y = 0 0 0 0 0 0 0 0>> y=floor(x)y =0 0 0 0 0 0 0 0 >> y=ceil(x)y = 1 1 1 1 1 1 1 1>> y=round(x)y = 0 0 0 0 1 1 1 1>> y=sign(x)y = 1 1 1 1 1 1 1 1>> S=rats(x)S =1/10 1/5 3/10 2/5 1/2 3/5 7/10 4/5>> [N,D]=rat(x)N = 1 1 3 2 1 37 4D = 10 5 10 5 2 510 5>> A=[2 4 6;3 5 7;8 10 9]A = 2 4 63 5 78 10 9>> B=[4 1 5;7 5 0;9 3 6]B = 4 1 57 5 09 3 6>> A>Bans = 0 1 10 0 10 1 1>> A<Bans = 1 0 01 0 01 0 0>> A>=Bans = 0 1 10 1 10 1 1>> A<=Bans = 1 0 01 1 01 0 0>> A==Bans = 0 0 00 1 00 0 0>> A~=Bans =1 1 11 0 11 1 1>> A&Bans = 1 1 11 1 01 1 1>> A|Bans = 1 1 11 1 11 1 1>> ~Aans = 0 0 00 0 00 0 0>> ~Bans = 0 0 00 0 10 0 0>> x=0:pi/100:3*pi;>> y=sin(x);>> plot(x,y);>> y1=(x<pi|x>2*pi).*y;>> figure,plot(x,y1);>> r=(x>pi/3&x<2*pi/3)|(x>7*pi/3&8*pi/3);>> rn=~r;>> y2=r*sin(pi/3)+rn.*y1;>> figure,plot(x,y2)>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x =0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> all(x)ans =0>> any(x)ans = 1>> find(x)ans =2 3 4 5 6 7 8 9 10 11 12 13 14 15>> isempty(x)ans =>> isglobal(x)Warning: isglobal is obsolete and will be discontinued. Type "help isglobal" for more details.ans =0>> isinf(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isnan(x)ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> isfinite(x)ans =1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>> issparse(x)ans = 0>> isstr(x)ans =0>> not(x)ans =1 0 0 0 0 0 0 0 0 0 0 0 0 0 0>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y =59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> y=[59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5]y = 59 46 78 2 3 98 1 2 3 57 9 5 66 8 900 5>> x=[0 4 5 9 8 6 74 85 7 4 85 8 4 5 8]x = 0 4 5 9 8 6 74 85 7 4 85 8 4 5 8>> A=[4 -40 2; 23 50 17;18 29 14]A = 4 -40 223 50 1718 29 14>> [r,c]=find(A>=20&A<=30)r = 23c = 12>> bitand(12,6)ans = 4>> bitshift(12,1)ans = 24>> bitxor(12,1)ans =13>> bitset(12,1)ans = 13 >> bitget(12,1)ans =0>> A =[ 87 59 56 85 66 21 12 35 62 64 69 88 99 81]A =87 59 56 85 66 21 1235 62 64 69 88 99 81>> A(2)ans =59>> A([1,2,8])ans =87 59 35>> A([9,6,2])ans =62 21 59>> A([end-4:end])ans =64 69 88 99 81>> A([1:5,5:-1:1])ans = 87 59 56 85 66 66 85 56 59 87>> A(3)=-1A = 87 59 -1 85 66 2112 35 62 64 69 88 99 81>> A(15)=-8A =87 59 -1 85 66 2112 35 62 64 69 88 99 81 -8>> A(20)=-1A = Columns 1 through 1687 59 -1 85 66 21 12 35 62 64 69 88 99 81 -8 0Columns 17 through 200 0 0 -1>> A=rand(8)A = 0.9501 0.8214 0.9355 0.13890.4451 0.8381 0.3046 0.37840.2311 0.4447 0.9169 0.2028 0.9318 0.0196 0.1897 0.86000.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.85370.4860 0.7919 0.8936 0.6038 0.4186 0.3795 0.6822 0.59360.8913 0.9218 0.0579 0.2722 0.8462 0.8318 0.3028 0.49660.7621 0.7382 0.3529 0.1988 0.5252 0.5028 0.5417 0.89980.4565 0.1763 0.8132 0.0153 0.2026 0.7095 0.1509 0.82160.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3,3)ans =0.4103>> A(8)ans =0.0185>> sub2ind(size(A),3,3)ans =19>> [i,j]=ind2sub(size(A),19)i =3j =3>> A(:,4)ans =0.13890.20280.19870.60380.27220.19880.01530.7468>> A(3,:)ans =0.6068 0.6154 0.4103 0.1987 0.4660 0.6813 0.1934 0.8537>> A(end,:)ans =0.0185 0.4057 0.0099 0.7468 0.6721 0.4289 0.6979 0.6449>> A(3:4,5:6)ans =0.4660 0.68130.4186 0.3795>> A(2:2:4,1:2:5)ans =0.2311 0.9169 0.93180.4860 0.8936 0.4186>> A=reshape(A,5,5)A = 1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25>> A(:)'ans =Columns 1 through 161 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Columns 17 through 2517 18 19 20 21 22 23 24 25>> A(:,1:2:5)=[]A = 6 167 178 189 1910 20>> A=[9 8 7;6 5 4;3 2 1];>> D=diag(A)D =951>> D1=diag(A,1)D1 =84>> D2=diag(A,-1)D2 =62>> V=[1 2 3 4];>> diag(V)ans = 1 0 0 00 2 0 00 0 3 00 0 0 4>> diag(1:3,-1)ans = 0 0 0 01 0 0 00 2 0 00 0 3 0>>A=[17,1,0,15;5,7,14,16;4,0,13,0;10,12,19,21]; >> D=diag(4:-1:1);>> D*Aans = 68 4 0 6015 21 42 488 0 26 010 12 19 21>> triu(A)ans =17 1 0 150 7 14 160 0 13 00 0 0 21>> triu(A,1)ans = 0 1 0 150 0 14 160 0 0 00 0 0 0>> B=A'B =17 5 4 101 7 0 120 14 13 1915 16 0 21>> rot90(A)ans =15 16 0 210 14 13 191 7 0 1217 5 4 10>> rot90(A,3)ans =10 4 5 1712 0 7 119 13 14 021 0 16 15>> B=fliplr(A)B = 15 0 1 1716 14 7 50 13 0 421 19 12 10>> B=flipud(A)B = 10 12 19 214 0 13 05 7 14 1617 1 0 15>> A=[4 5 6 9;7 8 9 5;4 5 6 9;7 8 9 5]; >> det(A)ans =0>> rank(A)ans =2>> cond(A)ans =1.0968e+017>> inv(A)Warning: Matrix is singular to working precision.ans = Inf Inf Inf InfInf Inf Inf InfInf Inf Inf InfInf Inf Inf Inf>> A=[4 8 9;8 2 7;6 3 8];>> inv(A)ans = 0.0568 0.4205 -0.43180.2500 0.2500 -0.5000-0.1364 -0.4091 0.6364>> [V,D]=eig(A)V = -0.6438 -0.7444 -0.5061-0.5467 0.6392 -0.5515-0.5354 0.1931 0.6631D = 18.2776 0 00 -5.2030 00 0 0.9254>> [U,S,D]=svd(A)U = -0.6378 0.7375 -0.2220-0.5426 -0.6348 -0.5500-0.5465 -0.2304 0.8051S = 18.9278 0 00 5.2884 00 0 0.8791D = -0.5374 -0.6639 -0.5200-0.4135 0.7449 -0.5236-0.7350 0.0663 0.6749>> [L,U]=lu(A)L = 0.5000 1.0000 01.0000 0 00.7500 0.2143 1.0000U = 8.0000 2.0000 7.00000 7.0000 5.50000 0 1.5714>> [Q,R]=qr(A)Q = -0.3714 0.9114 -0.1774-0.7428 -0.4063 -0.5322-0.5571 -0.0659 0.8278 R =-10.7703 -6.1279 -12.99870 6.2808 4.83140 0 1.3009>> a=1234a = 1234>> class(a)ans =double>> size(a)ans = 1 1>> b='1234'b =1234>> class(b)ans =char>> size(b)ans = 1 4>> 'I am astudent'ans =I am astudent>> a='This is No.2.23 Example!'a =This is No.2.23 Example!>> b=a(1:7)b =This is>> c=a(12:end)c =2.23 Example!>> a='Good';>> b='Noon';>> length(a)==length(b)ans = 1>> c=[a,'',b]c =GoodNoon>> d=[a;b]d =GoodNoon>> size(c)ans = 1 8>> size(d)ans = 2 4>> a='Good Noon';>> b=double(a)b = 71 111 111 100 32 78 111 111 110>> c='再见!'c =再见!>> c='再见!'>> d=double(c)d = 20877 35265 65281>> char(d)ans =再见!>> a='The first string';>> b='The second string';>> c=strcmp(a,b)c =0>> d=strncmp(a,b,4)d =1>> X='A friend in need is a friend indeed'; >> Y='friend';>> a=findstr(Y,X)a = 3 23>> b=strfind(Y,X)b = []>> S=['1 2 3';'2 3 4'];>> A=str2num(S)A = 1 2 32 3 4>> B=str2num('6-8i')B = 6.0000 - 8.0000i>> D=num2str(rand(2,3),6)D =0.950129 0.606843 0.8912990.231139 0.485982 0.762097>> d=189;>> h=dec2hex(d)h =BD>> c=dec2base(d,7)c =360>> b=dec2bin(d)b =10111101>> bin2dec(b)ans = 189>> A={ones(3,3,3),'Welcome';30.34,1:200} A = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>>B=[{ones(3,3,3)},{'Welcome'};{30.34},{1:20 0}]B = [3x3x3 double] 'Welcome'[ 30.3400] [1x200 double]>> C={5}C = [5]>> C(2,3)={7}C = [5] [] [][] [] [7]>> isequal(A,B)ans =1>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> b=A(1,2)b = 'Welcome'>> class(B)ans =cell>> C=A{1,2}C =Welcome>> class Cans =char>> D=A{1,2}(6)D =m>> E=A{2,2}([end:-1:190])E =200 199 198 197 196 195 194 193 192 191 190>> class(E)ans =double>> N=A{3}([1 3 5 7])N =Wloe>> A={ones(3,3,3),'Welcome';30.34,1:200}; >> B=cell(2);>> B(:,1)={char('Good','Morning');1:10}B = [2x7 char ] [][1x10 double] []>> C=[A,B]C = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D=[A,B;C]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] []>> D(4,:)=[]D = [3x3x3 double] 'Welcome' [2x7 char ] [][ 30.3400] [1x200 double] [1x10 double] [][3x3x3 double] 'Welcome' [2x7 char ] []>> E=reshape(D,2,3,2)E(:,:,1) = [3x3x3 double] [3x3x3 double] [1x200 double][ 30.3400] 'Welcome' 'Welcome'E(:,:,2) = [2x7 char ] [2x7 char] [][1x10 double] [] []>>A={randn(3,3,2),'Good',pi;29,4+7*i,zeros(4)} A = [3x3x2 double] 'Good' [ 3.1416][ 29] [4.0000+ 7.0000i] [4x4 double]>> B=cellfun('isreal',A)B = 1 1 11 0 1>> C=cellfun('length',A)C = 3 4 11 1 4>> Member.code='09021';>> ='Liu';>> Member.age=22;>> Member.grade=uint16(3);>> MemberMember =code: '09021'name: 'Liu'age: 22grade: 3>> Member(4).name='Wang';>> Member(4).grade=2;>> Member(2)ans = code: []name: []age: []grade: []>>Memebr=struct('code','09021','name','Liu','a ge',22,'grade',uint16(3))Memebr = code: '09021'name: 'Liu'age: 22grade: 3>>Member=struct('code',{'09021','09034'},'name' ,{'Liu','Wamg'},'age',{22,24},'grade',{2,3}) Member = 1x2 struct array with fields:codenameagegrade>>Member=struct('code',{},'name',{},'age',{},'gr ade',{})Member = 0x0 struct array with fields:codenameagegrade>>Member=struct('code',{'09021','09034'},'na me',{'Liu','Wang'},'age',{22,24},'grade',{2,3},' score',{[78 89;90 68],[91 76;89 97]}) Member = 1x2 struct array with fields:codenameagegradescore>> Member(1).scoreans =78 8990 68>> Member(2).score(2,:)ans =89 97>> Member.codeans =09021ans =09034>> Member.('name')ans =Liuans =Wang>> ='Liu';M.ID=1;>> M(2,2).name='Wang';M(2,2).ID=2; >> M2=setfield(M,{2,1},'name','Zhang'); >> ans =Liuans =[]ans = []ans =Wang>> ans =Liuans =Zhangans = []ans =Wang>> fieldnames(M)ans = 'name''ID'>> M3=orderfields(M)M3 = 2x2 struct array with fields:IDname。

Matlab实验报告_2

Matlab实验报告_2

实验一 Matlab基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。

2.熟悉Matlab命令窗口的组成。

3.掌握建立矩阵的方法。

4.掌握Matlab各种表达式的书写规则以及常用函数的使用。

二、实验内容:1.求[100,999]之间能被21整除的数的个数。

(rem)2.建立一个字符串向量,删除其中的大写字母。

(find)3.输入矩阵,并找出其中大于或等于5的元素。

(find)4.不采用循环的形式求出和式6312ii=∑的数值解。

(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。

(rem)1.开始→程序→Matlab2.输入命令:»m=100:999;»p=rem(m,21);»q=sum(p==0)ans=43●建立一个字符串向量,删除其中的大写字母。

(find)1.输入命令:»k=input('’,’s’);Eie48458DHUEI4778»f=find(k>=’A’&k<=’Z’);f=9 10 11 12 13»k(f)=[ ]K=eie484584778●输入矩阵,并找出其中大于或等于5的元素。

(find)1.输入命令:»h=[4 8 10;3 6 9; 5 7 3];»[i,j]=find(h>=5)i=3 j=11 22 23 21 32 3●不采用循环的形式求出和式的数值解。

(sum)1.输入命令:»w=1:63;»q=sum(2.^w)q=1.8447e+019实验二 Matlab 基本程序一、 实验目的:1. 熟悉Matlab 的环境与工作空间。

2. 熟悉M 文件与M 函数的编写与应用。

3. 熟悉Matlab 的控制语句。

4. 掌握if,switch,for 等语句的使用。

二、 实验内容:1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。

MATLAB实验二(修改)

MATLAB实验二(修改)

实验二 信号的表示及其基本运算一、实验目的1、掌握连续信号及其MATLAB 实现方法;2、掌握离散信号及其MA TLAB 实现方法3、掌握离散信号的基本运算方法,以及MA TLAB 实现4 熟悉应用MATLAB 实现求解系统响应的方法4、了解离散傅里叶变换的MA TLAB 实现5、了解IIR 数字滤波器设计6、了解FIR 数字滤波器设计1二、实验设备计算机,Matlab 软件三、实验内容(一)、 连续信号及其MATLAB 实现1、 单位冲激信号()0,0()1,0t t t dt εεδδε-⎧=≠⎪⎨=∀>⎪⎩⎰ 例1.1:单位冲击信号的MATLAB 实现程序如下:t1=-4;t2=4;t0=0;dt=0.01;t=t1:dt:t2;n=length(t);x=zeros(1,n); x(1,(-t0-t1)/dt+1)=1/dt;stairs(t,x);axis([t1,t2,0,1.2/dt]);2、 任意函数()()()f t f t d τδττ+∞-∞=-⎰例1.2:用MA TLAB 画出如下表达式的脉冲序列()0.4(2)0.8(1) 1.2() 1.5(1) 1.0(2)0.7(3)f n n n n n n n δδδδδδ=-+-+++++++ 3 单位阶跃函数1,0()0,0t u t t ⎧≥⎪=⎨<⎪⎩例1.3:用MA TLAB 实现单位阶跃函数clear all;t=-0.5:0.001:1;t0=0;u=stepfun(t,t0);plot(t,u)axis([-0.5 1 -0.2 1.2])4 斜坡函数0()()g t B t t =-例1.4:用MA TLAB 实现g(t)=3(t-1)clear all;t=0:0.01:3;B=3;t0=1;u=stepfun(t,t0);n=length(t);for i=1:nu(i)=B*u(i)*(t(i)-t0);endplot(t,u)axis([-0.2 3.1 -0.2 6.2])5 抽样信号 抽样信号Sa(t)=sin(t)/t 在MATLAB 中用 sinc 函数表示。

软件技术(MATLAB)实验手册2011版

软件技术(MATLAB)实验手册2011版

MATLAB 实验五 矩阵和多项式运算 一、 实验目标 1.矩阵的初等运算。 2.矩阵的关系和逻辑运算。 3.掌握多项式的构造和运算方法。 4.能使用常用函数进行简单问题求解。
二、 实验内容及要求 1.熟悉矩阵的构造,修改和变维。 2.熟悉矩阵元素的变换(取整,有理数,求模等)以及特殊矩阵 的生成(空矩阵,单位阵,全 1,全 0,魔方阵,两种随机阵 等) 。 3.矩阵的基本运算(+-*/^)和特殊运算(秩、迹等)。 4.矩阵的关系和逻辑运算。 5.多项式的构造和运算。
二、 实验内容及要求 1. 运行 MATLAB 软件,观察 MATLAB 的界面组成。并了解各个 部分的功能。 掌握多个窗口的在软件环境中的布局等操作。 (标 题栏+菜单栏+工具栏+命令窗口+历史命令窗口+当前目录窗口 +工作空间) 。 2. 命令窗口主要用于进行 MATLAB 的各种命令操作。 在该窗口 中,可以运行 MATLAB 的指令、函数、表达式以及显示除了 图形外的所有运行结果。 3. 命令历史窗口主要保存所有运行过的命令。 4. 改变 current directory,在当前目录下完成 save 和 load 命令。 5. 在工作空间中在工作空间中对变量进行各种操作。 6. 查找和设置搜索路径,并且测试。
MATLAB 实验二 一、 实验目标
MATLAB 编程基础(上)
1.熟悉一维数组二维数组的创建和引用。 2.熟悉字符数组的创建和相关函数。 3.了解 struct 数组和 cell 数组的创建和引用。 4.熟悉算术、关系和逻辑运算符的使用。 5.熟悉各种运算函数。
二、 实验内容及要求 1. 创建一维数组并采用各种形式引用。 2. 创建二维数组并采用各种形式引用。 3. 创建字符数组,调用字符数组相关函数。 (1) 通过下标引用字符串中元素。 (2) 取子串。 (3) 倒排字符串。 (4) 计算字符串中字符的个数 (5) 字符串中大小写转换 (6) 查找字符串中出现子串的位置 4. 创建 struct 数组和 cell 数组,采用各种形式引用。 5. 算术、关系和逻辑运算符操作单个数、一维和二维数组。 (1) +、-、*、/、\、^ (2) .* 、./、 .\、 .^

MATLAB实验2

MATLAB实验2

实验二数据操作和简单编程实验要求:为达到理想的实验效果,同学们务必做到:(1)实验前认真准备,要根据实验目的和实验内容,复习好实验中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。

(2)实验过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。

(3)实验后认真总结,要总结本次实验有哪些收获,还存在哪些问题,并写出实验报告。

实验报告应包括实验目的、实验内容、流程图(较大程序)、程序(命令)清单、运行结果以及实验的收获与体会等内容。

同学们在上机过程中会碰到各种各样的问题,分析问题和解决问题的过程就是积累经验的过程。

只要同学们按照上面3点要求去做,在学完本课程后就一定会有很大的收获。

实验目的:1.掌握MATLAB各种表达式的书写规则及常用函数的使用2.掌握建立和执行M文件的方法3.掌握利用if,while,for等变成语句实现的方法实验内容:一、读程序读课本上的例4.2,4.3,4.4,4.5,4.7,4.8,4.10,4.11的程序,并输入和调试运行二、数据操作练习1、练习基本数学函数2、利用M文件建立大矩阵3、利用冒号表达式建立一个向量e1:e2:e3 其中e1为初始值,e2为步长,e3为终止值linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。

4、大矩阵可由方括号中的小矩阵或向量建立起来。

例如,A=[1,2,3;4,5,6;7,8,9];C=[A,eye(size(A));ones(size(A)),A]5、矩阵的拆分1)通过下标引用矩阵的元素,例如,A(3,2)=82)采用矩阵元素的序号来引用矩阵元素A=[1,2,3;4,5,6];A(3) A(:)3)利用冒号表达式获得子矩阵C(:,3)C(2,:)C(2:4;3:end)C([1,4],3:end)4)试验搜集了27个数据,存储在A中,如下:A=[101,102,103,104,105,106,107,108,109, 201,202,203,204,205,206,207,208,209,301,302,303,304,305,306,307,308,309];观察发现前10个数据和后面7个才是正确的,需要把他们组合成一组新的数据。

2011MATLAB实验教案

2011MATLAB实验教案

机电工程学院教案授课人: 乔世坤授课班级: 通信地点: 时间: 年月日节机电工程学院教案授课人: 乔世坤授课班级: 通信地点: 时间: 年月日节机电工程学院教案授课人: 乔世坤授课班级: 通信地点: 时间: 年月日节机电工程学院教案授课人: 乔世坤授课班级: 通信地点: 时间: 年月日节机电工程学院教案实验内容:1.Transfer Fcn10.5s+1StepScope2.用Simulink 来实现两个正弦信号的相乘,假定两个正弦波的频率分别是1 Hz 和10Hz ,幅值为1,采用定步长法,并将最大步长设为0.001秒。

在simulation\simulation parameters 中设置定步长法,最大步长为0.001秒。

Sine Wave 的参数设置中,输入频率为角频率值。

3.练习对子系统进行封装,子系统用于实现y=ax 3+bx+c 。

封装系统的一般过程:选中待封装的子系统,在主菜单中执行“Edit”/“Mask subsystem”命令,对“封装子系统”各个选项卡进行设置。

其中:“Parameters”选项卡---定义封装子系统的参数设置,设置参数设置对话框中出现的参数设置提示符、该参数与子系统内部哪能个变量相关联。

“Initialization”选项卡---对封装子系统进行初始化。

“Iron”选项卡---定义封装子系统的外观。

“Documentation”选项卡---定义封装子系统的文档。

子系统模型图验证模型图4.练习模型与工作空间的数据交换。

从工作空间中获取输入外部输入可以是数组、带时间项的结构、输入时间表达式。

试一试仿真结果送入工作空间。

Array(数组)t=(0:0.1:10)';u=[exp(t),sin(t),cos(t)];5.熟悉Simulink的常用功能模块,如Sources模块库正弦、阶跃信号等,Sinks中示波器等。

注意事项授课人: 乔世坤授课班级: 通信地点: 时间: 年月日节机电工程学院教案实验内容:1. 编写M文件进行仿真,求电路图中流过R5的电流。

MATLAB实验实验二指导书

MATLAB实验实验二指导书

实验二MATLAB的程序设计实验目的:(1)掌握函数M文件与命令M文件的建立与编辑;(2)掌握MA TLAB编程语言的基本控制结构与控制转移语句;(3)掌握MA TLAB程序的调试。

实验每组人数及学时:组人数1人,学时数:9学时实验要求:要求每位实验人员于课堂时间完成相关练习实验环境:装有Windows操作系统和MA TLAB软件的计算机。

实验类型:设计型实验理论基础:第三章1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。

2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。

while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。

若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。

若表达式的值为假,则程序执行end之后的语句。

2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。

(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。

)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。

2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。

3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。

switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch 后面的表达式可以是任何类型,如数字、字符串等。

MATLAB实验报告二

MATLAB实验报告二

实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。

Matlab实验2

Matlab实验2

(1)>> n=0:1:15;xn1=exp(-(n-8).^2/2);subplot(3,2,1);stem(n,xn1);xlabel('t/T');ylabel('x(n)'); title('p=8 q=2'); xk1=fft(xn1);xk1=abs(xk1);subplot(3,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)'); title('p=8 q=2'); xn2=exp(-(n-8).^2/4);subplot(3,2,3);stem(n,xn2);xlabel('t/T');ylabel('x(n)'); title('p=8 q=4'); xk2=fft(xn2);xk2=abs(xk2);subplot(3,2,4);stem(n,xk2);xlabel('k');ylabel('X(k)'); title('p=8 q=4'); xn3=exp(-(n-8).^2/8);subplot(3,2,5);stem(n,xn3);xlabel('t/T');ylabel('x(n)');title('p=8 q=8') xk3=fft(xn3);xk3=abs(xk3);subplot(3,2,6);stem(n,xk3);xlabel('k');ylabel('X(k)'); title('p=8 q=8')n=0:1:15;xn1=exp(-(n-8).^2/8);subplot(3,2,1);stem(n,xn1);xlabel('t/T');ylabel('x(n)'); title('p=8q=8');xk1=fft(xn1);xk1=abs(xk1);subplot(3,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)'); title('p=8 q=8');xn2=exp(-(n-13).^2/8);subplot(3,2,3);stem(n,xn2);xlabel('t/T');ylabel('x(n)'); title('p=13 q=8');xk2=fft(xn2);xk2=abs(xk2);subplot(3,2,4);stem(n,xk2);xlabel('k');ylabel('X(k)'); title('p=13 q=8');xn3=exp(-(n-14).^2/8);subplot(3,2,5);stem(n,xn3);xlabel('t/T');ylabel('x(n)');title('p=14 q=8');xk3=fft(xn3);xk3=abs(xk3);subplot(3,2,6);stem(n,xk3);xlabel('k');ylabel('X(k)');subplot(3,2,6);ste m(n,xk3);xlabel('k');ylabel('X(k)');title('p=14 q=8');(2)>> n=0:1:15;xn1=exp(-0.1*n).*sin(2*pi*0.0625*n);subplot(3,2,1);stem(n,xn1);xlabel('t/T');ylabel('x(n)');title('f=0.0625')xk1=fft(xn1);xk1=abs(xk1);subplot(3,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');title('f=0.0625')xn2=exp(-0.1*n).*sin(2*pi*0.4375*n);subplot(3,2,3);stem(n,xn2);xlabel('t/T');ylabel('x(n)');title('f=0.4375')xk2=fft(xn2);xk2=abs(xk2);subplot(3,2,4);stem(n,xk2);xlabel('k');ylabel('X(k)');title('f=0.4375')xn3=exp(-0.1*n).*sin(2*pi*0.5625*n);subplot(3,2,5);stem(n,xn3);xlabel('t/T');ylabel('x(n)');title('f=0.5625')xk3=fft(xn3);xk3=abs(xk3);subplot(3,2,6);stem(n,xk3);xlabel('k');ylabel('X(k)');title('f=0.5625')(3):Xcn=[0 1 2 3 4 3 2 1];Xdn=[4 3 2 1 0 1 2 3];Xck=fft(Xcn,8);Xdk=fft(Xdn,8);subplot(1,2,1);n=[0:1:7];stem(n,Xcn);xlabel('t/T');ylabel('x(n)');title('Xcn'); subplot(1,2,2);stem(n,Xdn);xlabel('t/T');ylabel('x(n)');title('Xdn');>> subplot(1,2,1);stem(n,Xck);xlabel('k');ylabel('X(k)');title('Xck'); subplot(1,2,2);stem(n,Xdk);xlabel('k');ylabel('X(k)');title('Xdk');m=[0:1:31];Xck2=fft(Xcn,32);Xdk2=fft(Xdn,32);subplot(1,2,1);stem(m,Xck2);xlabel('k');ylabel('X(k)');title('Xck2');subplot(1,2,2);stem(m,Xdk2); xlabel('k');ylabel('X(k)');title('Xdk2');(4)>> n=0:1:15;xn1=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n);xk1=fft(xn1);xk1=abs(xk1);subplot(1,2,1);stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16'); title('N=16')xn2=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n);xk2=fft(xn2);xk2=abs(xk2);subplot(1,2,2);stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64'); title('N=16')>> n=0:1:127;>> xn1=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n);>> xk1=fft(xn1);xk1=abs(xk1);>> subplot(1,2,1); stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16'); title('N=128') >> xn2=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n);>> xk2=fft(xn2);xk2=abs(xk2);>> subplot(1,2,2); stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64'); title('N=128')(5):n=0:1:15;Xan=exp(-(n-8).^2/2);Xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);subplot(3,1,1);stem(n,Xan);xlabel('n');ylabel('Xn');title('Xan')subplot(3,1,2);stem(n,Xbn);xlabel('n');ylabel('Xn');title('Xbn')N=length(Xan);k=0:N-1;Xak=Xan*(exp(-j*2*pi/N)).^(n'*k);Xbk=Xbn*(exp(-j*2*pi/N)).^(n'*k);Yk=Xak.*Xbk;Yn=Yk*(exp(j*2*pi/N)).^(n'*k)/N;Yn=abs(Yn)subplot(3,1,3);stem(n,Yn);title('Yn');Yn2=conv(Xan,Xbn);m=[0:1:length(Yn2)-1];Yn =Columns 1 through 150.0411 0.3282 0.5824 0.7050 0.7019 0.5962 0.4191 0.1751 0.2179 0.7841 1.3001 1.5692 1.5621 1.3271 0.9399Column 160.4849subplot(2,1,1);stem(n,Yk);title('循环卷积');subplot(2,1,2);stem(m,Yn2);title('线性卷积');(6):>> xcn=[0 1 2 3 4 3 2 1];xen=rand(1,512);>> qqqqq=conv(xcn,xen);>> stem([0:1:518],qqqqq);xlabel('n');ylabel('幅度');N1=length(xcn);N2=length(xen)/8;xcn=[xcn zeros(1,N2-1)];xck=fft(xcn);for i=1:1:8xenii=xeni(N2,xen,i-1);xenii=[xenii zeros(1,N1-1)];xeki=fft(xenii);yki=xck.*xeki;yni=ifft(yki);y(i,:)=yni;end;for i=0:1:7for j=0:1:i*N2-1ynii(i+1,[0+1:1:i*N2-1+1])=0;end;for j=i*N2:1:N1+(i+1)*N2-2ynii(i+1,[i*N2+1:1:N1+(i+1)*N2-2+1])=y(i+1,:); end;for j=N1+(i+1)*N2-1:1:N1+8*N2-2ynii(i+1,[N1+(i+1)*N2-1+1:1:N1+8*N2-2+1])=0; end;end;yn=zeros(1,N1+8*N2-1);for i=1:1:8yn=yn+ynii(i,:);end;n=0:1:N1+8*N2-2;stem(n,yn);xlabel('n');ylabel('幅度');title('重叠相加法');xen21=shiftmm(N1-1,xen);for i=1:1:8xen2i(i,:)=xenni(N1,N2,xen21,i-1);end;for i=1:1:8xek2i=fft(xen2i(i,:));yk2i=xck.*xek2i;yn2i=ifft(yk2i);y2(i,:)=yn2i;;end;y2(:,1:N1-1)=[;;;;;;;;];n2=0:1:8*N2-1;stem(n2,[y2(1,:) y2(2,:) y2(3,:) y2(4,:) y2(5,:) y2(6,:) y2(7,:) y2(8,:)]); xlabel('n');ylabel('幅度');title('重叠保留法');。

Matlab实验报告(2011)

Matlab实验报告(2011)

-1000
0
50
100
150
200 250 300 Frequency (Hz)
350
400
450
500
4)
低通 Chebyshev-II 数字滤波器
低 通 Chebyshev-II数 字 滤 波 器 0
Magnitude (dB)
-10
-20
-30
0
50
100
150
200 250 300 Frequency (Hz)
4 A 3 1 1 2 -5 -1 -6 3 9 B 2 1
1.设
求 X
使
m
AX B
2 .求满足
ln(1 n) 100
n 0
的最小 m 值。
2. 在同一坐标系下绘制以下三条曲线
y1 sin x, y2 sin x sin(10 x), y3 cos x,
350
400
450
500
2)椭圆数字滤波器
低通椭圆滤波器 0
Magnitude (dB)
-50
-100
-150
0
50
100
150
200 250 300 Frequency (Hz)
350
400
450
500
500
Phase (degrees)
0
-500
-1000
0
50
100
150
200 250 300 Frequency (Hz)
五、实验结果 1. X= 2.3830 1.4894 2.0213 2. m = 37 3.
3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB实验二MATLAB数据分析和符号计算试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc4 试验报告doc文档以附件形式发送到maya_email@。

凡文档命名不符合规范,或者发送方式不正确,不予登记。

一目的和要求1熟悉MATLAB多项式和数据分析方法2熟练掌握MATLAB符号表达式的创建3熟练掌握符号表达式的代数运算4掌握符号表达式的化简和替换5熟练掌握符号微积分6熟练掌握符号方程的求解二试验内容1 多项式运算(必做)1.1解方程:f(x)=x^4-10*x^3+34*x^2-50*x+25=0T1=[1 -10 34 -50 25]T1 =1 -10 34 -50 25>> root=roots(T1)root =5.00002.0000 + 1.0000i2.0000 - 1.0000i1.00001.2求有理分式R=(3x^3+x)(x^3+2)/((x^2+2x-2)(5x^3+2x^2+1))的商多项式和余多项式.a1=[3 0 1 0];a2=[1 0 0 2];a3=[1 2 -2];a4=[5 2 0 1];p1=conv(a1,a2)p1 =3 0 1 6 0 2 0p2=conv(a3,a4)p2 =5 12 -6 -3 2 -2[p3,r]=deconv(p1,p2)p3 =0.6000 -1.4400r =0 0 21.8800 -0.8400 -5.5200 6.0800 -2.88001.3 多项式插值。

下表是一个标准大气压下的蒸汽数据,用于分析温度和内能之间的关系。

使1.4 多项式的拟合。

已知:X0=0:0.5:10;Y0=[0,82,212,326,395,526,622,738,818,909,1029,1108,1186,1330,1411,1540,161 2,1726,1822,1940,2044];对上述数据进行多项式拟合,分别采用一阶,二阶,四阶进行拟合。

X0=0:0.5:10;>>Y0=[0,82,212,326,395,526,622,738,818,909,1029,1108,1186,1330,1411,1540,1612,1 726,1822,1940,2044];p1=polyfit(X0,Y0,1)p1 =202.8078 3.8658p2=polyfit(X0,Y0,2)p2 =0.0347 202.4613 4.4145P4=polyfit(X0,Y0,4)P4 =-0.0119 0.5533 -6.1977 224.0678 -10.28282 数据分析(必做)下表为2.1Score=[75 81 73;62 85 79;71 68 60; 58 92 75;73 90 81]Score =75 81 7362 85 7971 68 6058 92 7573 90 812.2 统计每位学生的平均分和总分Sum2=sum(Score,2)Sum2 =229226199225244Ave2=mean(Score')Ave2 =76.3333 75.3333 66.3333 75.0000 81.33332.3 统计每门课程的平均分和总分Ave=mean(Score)Ave =67.8000 83.2000 73.6000Sum2=sum(Score,1)Sum2 =339 416 3682.4 统计每门课程的标准差S=std(Score)S =7.3959 9.5237 8.23412.4 按照数学成绩的升序序列对矩阵进行重新排序sortrows(Score,1)ans =58 92 7562 85 7971 68 6073 90 8175 81 732.5 打印数学成绩最高的学生三门课程的成绩信息:显示格式如下:×的数学成绩:××分,语文成绩:××分物理成绩:××分fprintf('1的数学成绩:%d,语文成绩:%d,物理成绩:%d',Score(1),Score(6),Score(11))1的数学成绩:75,语文成绩:81,物理成绩:73>>3 创建符号表达式。

(必做)3.1 分别使用sym和syms命令创建符号表达式cx3。

++=2bxaxf+f=sym('a*x^3+b*x^2+c*x+d')f =a*x^3+b*x^2+c*x+d3.2 使用findsym确定上题符号表达式f的自由变量以及第一自由变量。

第一自由分量findsym(f,1)ans =x自由分量findsym(f)ans =a,b,c,d,x3.3 执行下列语句,比较a1,a2,a3和a4的执行结果和数据类型。

>> a1=1/4+1/6>> a2=sym(1/4+1/6)>> a3=’1/4+1/6’>> a4=eval('1/4+1/6')4 置换操作—subs命令的应用(必做)。

4.1对于符号表达式xf e-=,分别求解:4.1.1 (0)ff=sym('exp(-x)')f =1/exp(x)>> subs(f,0)ans =14.1.2 (1),(2),(3),...,(20)f f f ft=1:20;subs(f,t)ans =Columns 1 through 110.3679 0.1353 0.0498 0.0183 0.0067 0.0025 0.0009 0.0003 0.0001 0.0000 0.0000Columns 12 through 200.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00004.2 对于符号表达式5a=xfsin(+)4.2.1 用符号变量y替代sin(x)f=sym('a*sin(x)+5');subs(f,'sin(x)','y')ans =a*y + 54.2.2 求解当a=3, x=pi/3时,f的值。

subs(f,'a,x','3,pi/3')ans =(3*3^(1/2))/2 + 55符号表达式的运算5.1已知符号表达式x(-=,1)1xf2sin((zf(必做)。

g,求符合函数))g)y(+2=yf=sym('1-sin(x)*sin(x)');g=sym('2*y+1');compose(f,g)ans =1 - sin(2*y + 1)^25.2求函数y =(必做) f=sym('sqrt(1+(log(sinx))^2)')f =(log(sinx)^2 + 1)^(1/2)>> g=finverse(f)g =exp((sinx^2 - 1)^(1/2))5.3 已知725),(23+-=x yy x y x f ,求12=x dxdy f d 。

(必做)f=sym('(x^3*y-5*y)/(2*x^2+7)');subs(diff(f,2),'x','1')ans =(286*y)/7295.4 计算二重积分⎰⎰-ππππy 2dx dx )x sin(dy 。

(必做)f=sym('sin(x)/x')f =sin(x)/xint(int(f,pi,'y-pi'),2*pi,pi)ans =25.5 已知x x xx f 2sin 1132+-++=,求0→x 的极限。

(必做) f=sym('(sqrt(1+x+x^2)+1)/(x^3+sin(2*x))')f =((x^2 + x + 1)^(1/2) + 1)/(sin(2*x) + x^3)limit(f,'x',0)ans =NaN5.6 解方程组:221,2x y x y +== 。

(必做) eq1=sym('x^2+y^2=1');eq2=sym('x*y=2');[x,y]=solve(eq1,eq2)x =(1/2 + (15^(1/2)*i)/2)^(1/2)/2 - (1/2 + (15^(1/2)*i)/2)^(3/2)/2- (1/2 + (15^(1/2)*i)/2)^(1/2)/2 + (1/2 + (15^(1/2)*i)/2)^(3/2)/2(1/2 - (15^(1/2)*i)/2)^(1/2)/2 - (1/2 - (15^(1/2)*i)/2)^(3/2)/2- (1/2 - (15^(1/2)*i)/2)^(1/2)/2 + (1/2 - (15^(1/2)*i)/2)^(3/2)/2y =(1/2 + (15^(1/2)*i)/2)^(1/2)-((15^(1/2)*i)/2 + 1/2)^(1/2)(1/2 - (15^(1/2)*i)/2)^(1/2)-(1/2 - (15^(1/2)*i)/2)^(1/2)5.7 求和∑∞=-12)12(1n n 。

(选做)syms n>> f=[(2*n-1)^(-2)]f =1/(2*n - 1)^2>> s=symsum(f,1,inf)s =5.8 在区间[0,2π],画出0s in()x ty x d tt=⎰曲线。

(选做)f=sym('sint/t')f =sint/tezplot(int(f,'x',0),[0,2*pi])。

相关文档
最新文档