北京交通大学MATLAB实验3
【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学
MATLAB上机实验报告(2)实验容:一、试用如下几种方法来建立向量,观察结果(1)x=1:5, x=(1:5)’实验结果:x=1:5 是行向量,x=(1:5)’是列向量.且1为初始值,5为终止值,默认的步长为1.>> x=1:5x =1 2 3 4 5>> x=(1:5)'x =12345(2)x=0:pi/4:pi实验结果: x=0:pi/4:pi指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi).其中pi为圆周率,初始值为0,终止值为pi,步长为pi/4.>> x=0:pi/4:pix =0 0.7854 1.5708 2.3562 3.1416(3)x=(0:0.2:3)’, y=exp(-x).*sin(x)实验结果: x的初始值为0,终止值为3,步长为0.2.而函数y 表示将x向量中的每一个数代入函数y=e^(-x)*sin(x)得到的函数值组成的向量.>> x=(0:0.2:3)', y=exp(-x).*sin(x)x =0 0.2000 0.4000 0.60000.80001.0000 1.2000 1.4000 1.60001.80002.0000 2.2000 2.4000 2.60002.80003.0000 y =0.16270.26100.30990.32230.30960.28070.24300.20180.16100.12310.08960.06130.03830.02040.0070(4)k=linspace(-pi,pi,5), k=logspace(-3,-1,5)实验结果:k=linspace(-pi,pi,5),产生的是初始值为-pi,终止值为pi,元素总数为5的行向量,即k的步长为pi/2.k=logspace(-3,-1,5)产生的是初始值为10^(-3),终止值为10^(-1),元素总数为5的列向量.其中第n个元素为10^(-3+0.5*n).>> k=linspace(-pi,pi,5), k=logspace(-3,-1,5)k =-3.1416 -1.5708 0 1.5708 3.1416k =0.0010 0.0032 0.0100 0.0316 0.1000二、已知x=[1 2 3],y=[4 5 6],试计算z=x.*y, x.\y和x./y。
北科大matlab数学实验报告第三次北科大matlab数学实验报告第三次Matlab 数学实验 全部答案 精华版
《数学实验》报告实验名称数学实验第三次报告学院专业班级姓名学号2013年11月学会用MATLAB绘制二维曲线,掌握gtext, legend, title, xlabel, ylabel等指令用法。
二、【实验任务】完成课后第4章第5,6,8,9题。
P79三、【实验程序】1,x=0:pi/50:4*pi;y=exp(x/3).*sin(3*x);plot(x,y ,'b*'),grid onhold onz1=exp(x/3);z2=-exp(x/3);plot(x,z1,'r-.')hold onplot(x,z2,'r-.')2,clf;x1=-pi:pi/50:pi; y1=x1.*cos(x1);x2=pi:pi/50:4*pi;y2=x2.*tan(1./x2).*sin(x2.^3);x3=1:0.1:8; y3=exp(1./x3).*sin(x3);subplot(1,3,1);plot(x1,y1,'r-'),grid ontitle('y1=x1.*cosx1')legend('x1.*cosx1')xlabel('x轴') ,ylabel('y轴')subplot(1,3,2);plot(x2,y2,'g-'),grid ontitle('y2=x2.*tan(1./x2).*sin(x2.^3)')legend('x2.*tan(1/x2).*sinx2')xlabel('x轴') ,ylabel('y轴')subplot(1,3,3);plot(x3,y3,'b-'),grid ontitle('y3=exp(1./x3).*sin(x3)')xlabel('x轴') ,ylabel('y轴')legend('exp(1./x3).*sinx3')axis tightgtext('y1=x1.*cosx1')gtext('y2=x2.*tan(1./x2).*sin(x2.^3)')gtext('y3=exp(1./x3).*sin(x3)')1,2,这次作业明显比第一次轻松了许多,在上课认真听讲后,又研读了书上的讲解和例题,起初是模仿,后来自己就能完全理解并做出题目来。
MATLAB 语言及其应用 实验报告
《MATLAB 语言及其应用》实验报告目录实验一Matlab 使用方法和程序设计........................实验二控制系统的模型及其转换.............................实验三控制系统的时域、频域和根轨迹分析...........实验四动态仿真集成环境-Simulink.........................实验一Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句3、熟悉Matlab绘图命令及基本绘图控制4、熟悉Matlab程序设计的基本方法二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;答:help sqrt2、矩阵运算(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*Bans =105 115229 251(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\Bans =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511>> A/Bans =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'解:>> A=[5+i,2-i,1;6*i,4,9-i];>> A.'ans =5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000i>> A'ans =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号表达式选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;>> A=[1 2 3;4 5 6;7 8 9];>> B=A(1:2,3)B =36>> B1=A(2:3,:)B1 =4 5 67 8 9用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列>> A=magic(4)A =16 2 3 135 11 10 89 7 6 124 14 15 1>> B=A(:,1:3)B =16 2 35 11 109 7 64 14 153、多项式(1)求多项式4xxp的根2=x)(3-->> p=[1 0 -2 -4];>> r=roots(p)r =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征多项式;>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ;>> p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500把矩阵A作为未知数代入到多项式中;>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ;>> syms x;P=x^3-2*x-4;>> P1=subs(P,x,A)P1 =-4.6720 17.0000 111.0000 -5.0710111.0000 -2.4870 111.0000 200.000017.0000 707.0000 -4.0000 -5.0000-5.0000 0 17.0000 52.00004、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]解:(1)程序为:t=[0:0.05:2*pi];y=cos(t);plot(t,y)(2)程序如下:x=[0:0.05:2*pi];y1=cos(x-0.25);y2=sin(x-0.5);plot(x,y1,x,y2)绘制曲线如下:5、基本绘图控制绘制[0,4π]区间上的x1=10sint曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序为:>> t=[0:0.05:4*pi];x1=10*sin(t);plot(t,x1,'r-.+')grid on;axis([0,15,-10,10]);title('曲线x1=10sint');xlabel('T轴');ylabel('X1轴');set(gca,'xminortick','on');set(gca,'yminortick','on');6、基本程序设计(1)编写命令文件:计算1+2+…+n<2000 时的最大n值;>> s=1;n=1;while(s<2000-n),n=n+1;s=s+n;end,[s,n]ans =1953 62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
北京交通大学现代控制理论matlab实验报告
北京交通⼤学现代控制理论matlab实验报告实验⼀利⽤MATLAB进⾏线性系统的模型转换及联结课程:现代控制理论姓名:王柬⽂学号:11212070班级:⾃动化1103指导教师:张勇标题 (1)⽬录 (2)⼀实验⽬的: (3)⼆实验原理: (3)三实验步骤: (6)四实验要求: (7)五实验内容: (8)1 (8)2 (18)3 (29)4 (36)5 (37)六实验感想: (40)⼀实验⽬的:1、学习系统状态空间模型的建⽴⽅法、了解状态空间模型与传递函数、零极点模型之间相互转换的⽅法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的⽅法。
3、通过编程、上机调试,掌握系统模型的联结⽅法。
⼆实验原理:⼀、连续系统(1)状态空间模型x Ax Buy Cx Du=+=+& (1.1)其中:nx R ∈是系统的状态向量,mu R ∈是控制输⼊,py R ∈是测量输出,A 是n n ?维状态矩阵、B 是n m ?维输⼊矩阵、C 是p n ?维输出矩阵、D 是直接转移矩阵。
在MATLAB 中,⽤(A,B,C,D )矩阵组表⽰。
系统传递函数和状态空间模型之间的关系如式(1.2)所⽰。
1()()G s C sI A B D -=-+ (1.2)(2)传递函数模型11101110()(),()m m m m n n n n b s b s b s b num s H s m n den s a s a s a s a ----++++==≤++++L L 在MATLAB 中,直接⽤分⼦/分母的系数表⽰1010[,,,][,,,]m m n n num b b b den a a a --==L L(3)零极点增益模型1212()()()()()()()m n s z s z s z H s ks p s p s p ---=---L L在MATLAB 中,⽤[z, p, k]⽮量组表⽰,即1212[,,,];[,,,];[];m n z z z z p p p p k k ===L L ⼆、离散系统(1)传递函数模型11101110()m m m m n n n n b z b z b z b H z a z a z a z a ----++++=++++L L (2)零极点增益模型1212()()()()()()()m n z z z z z z H z kz p z p z p ---=---L L(3)状态空间模型(1)()()()()()x k Ax k Bu k y k Cx k Du k +=+=+三、三种模型间的转换表⽰状态空间模型和传递函数的MATLAB 函数。
MATLAB实验3
实验三函数式M文件和MA TLAB绘图一、实验目的:1、掌握基本的绘图命令2、掌握各种图形注释方法3、掌握三维图形的绘制方法4、了解一些特殊图形的绘制5、了解图形的高级控制技巧二、相关知识1基本的绘图命令1)、常用绘图命令常用的统计图函数:在MA TLAB 7中,使用plot函数进行二维曲线图的绘制>> x=0:0.1:10;>> y1=sin(x);>> y2=cos(x-2.5);>> y3=sqrt(x);>> plot(x,y1,x,y2,x,y3)3)、极坐标图形的绘制MA TLAB提供了polar(x1,x2,s)函数来在极坐标下绘制图形:(参数1角度,参数2极半径,参数3颜色和线性)>> x= 0:0.01:10;>> y1=sin(x);>> y2 = cos(x-2.5);>> polar(y1,y2,'-r+')4)、多个图形的绘制方法subplot函数可以实现多个图形的绘制:>>x = 0:.1:20;>>subplot(2,2,1)>>plot(x,sin(x));>>subplot(2,2,2);>>plot(x,cos(x))5)、曲线的色彩、线型和数据点型基本的绘图命令都支持使用字符串来给不同的曲线定义不同的线型,颜色和数据点型。
plot(x,sin(x),'-rd')图形注释对图形进行注释的方式A 图形注释“工具栏。
B 图形调色板中的注释工具C insert 菜单中的“注释”命令D 直接使用注释命令Annotation 函数Xlabel ,ylabel ,zlabel 函数 Title 函数 Colorbar 函数 Legend 函数实验内容: 一、 基础练习1、跟我练输入x,y 的值,并将它们的值互换后输出 x=input('Input x please:\n');y=input('Input y please:\n'); echo on z=x; x=y; y=z; disp(x); disp(y);echo off2、练习请求键盘输入命令keyboard ,处理完毕后,键入return ,程序将继续运行 求一元二次方程ax2 +bx+c=0的根。
MATLAB实验三 信号的调制与解调
实验三信号的调制与解调一.实验目的:1.熟悉幅度调制与解调过程,熟悉调制解调过程中信号时域波形和频谱。
2.掌握Modulate函数实现调幅和调频信号。
3.熟悉快速傅立叶变换函数fft,求模函数abs和fftshift函数求信号幅度频谱。
4.掌握butter函数进行巴特沃兹低通滤波器设计,熟悉滤波器频率响应函数freqz,滤波函数filter。
5.熟悉信号的合成与分解原理,加深对傅里叶级数的理解;二、实验原理:1.两个信号的调制通常用乘法器实现,由一个信号控制另一个信号的某个参量,例如用一个低频正弦波信号控制高频载波的幅值,则产生一个振幅调制信号,称为调幅波;类似还可产生调频波等。
2.幅度调制与解调原理:(如下图所示)调制信号()p t,假设信道不引入噪声,解调时采用同步解f t,载波()调,LPF为低通滤波器,()f t为接收信号。
C三、实验内容1.验证性实验a)使用modulate函数产生调幅信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'am');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调幅');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200));xlabel('频率');ylabel('幅度');b)使用modulate函数产生调频信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'pm');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调频');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200)); xlabel('频率');ylabel('幅度');c)周期信号的分解与合成解:t=-3:0.01:3; Fm=0.5; sum=0; n=100; for i=1:2:n;sum=sum+4/pi.*(1/i).*sin(i*2*pi*Fm*t); endplot(t,sum);title('周期信号的分解与合成');2. 设计性实验1) 发射端调制信号()2cos(2)f t t =,载波()cos(20)p t t =,已调信号()A f t ,理想信道无噪声。
MATLAB第三次实验
工业工程的计算机方法实验报告实验序号:_______________学号:_______________姓名:_______________日期:_______________一.实验目的1.熟悉Matlab图像处理的基本理论和概念,了解图像处理的基本应用和简单的处理方法。
2.进行Matlab图像处理处理的操作和运算,以及一些基础的图像处理技术的应用二.实验效果1、编写一个程序实现以下功能:选择一幅图像,将其转换成灰度图像,然后进行灰度图的直方图生成,然后进行灰度直方图均衡化,最后进行灰度图的二值化。
将以上四种图像显示在一个窗口。
效果图如下:2、选取一张彩色柑橘或者荔枝图像,将其转换到YCBCR空间,YUV 和HSI空间,分析对应的CR分量灰度直方图,Y分量直方图和H分量灰度直方图,对其灰度图选取对应的阈值,进行分割,得到果实目标。
转换为YCBCR空间代码如下:YCBCR效果图如下:转换为YUV空间代码如下:YUV效果图如下:转换为HIS空间代码如下:HSI效果图如下:3、选取一张图像,对其灰度图像进行双阈值分割,然后将分割后的目标恢复到其彩色图像。
代码如下:效果图如下:三.实验小结从一开始接触matlab时的朦胧,难解到现在能看懂一部分的matlab图像处理代码,我们的进步,自身是绝对能感觉的到的。
相对大一大二接触大多数纯理论的课,到现在总是在院楼上实验课,我们也知道大三课程注重于生活实践和实用性,培养即将走入社会的我们的动手能力。
Matlab的功能实在强大,无论在数学建模,还是在图像处理领域,都占有十分重要的地位。
在学习中,也是层层深入,第三次试验就是建立在第二次的基础之上的,每次试验课除了有对新知识的了解外,还有对旧知识的复习,真是温故而知新啊。
在第三次实验中,也确实遇到了一些问题,如cat的运用等,因为不熟悉其应用,在最后一道题的还原时卡了挺久的,在多次询问同学之后,终于解决。
还是要多做多练,方能知道自己的疑惑,要敢于向他人求助,事半功倍。
matlab实验三答案详解
实验三选择结构程序设计实验内容1.程序代码function f(x)if x<0&x~=-3y=x*x+x-6;elseif x>0&x<5&x~=2&x~=3y=x*x-5.*x+6;elsey=x*x-x-1endy运行结果>> f(-7)y =36>> f(2.5)y =-0.2500>> f(90)y =80092.程序代码score=input('分数=');if score<=100&score>=0switch fix(score/10)case{9,10}grade='A';case{8}grade='B';case{7}grade='C';case{6}grade='D';otherwisegrade='E';endgradeelsedisp('输入有误,请输入正确的百分制成绩');end运行结果>> 分数=56grade =E>> f分数=345输入有误,请输入正确的百分制成绩3.程序代码time=input('工作时间=');switch timecase{time>120}wage=(time-120)*(1+15/100)*84+120*84;case{time<60}wage=time*84-700;otherwisewage=time*84end运行结果>> f工作时间=150wage =12600>> f工作时间=50wage =4200>> f工作时间=110wage =92404.程序代码A=10+90*rand(5);a=fix(A(3,3))b=fix(A(2,4))x=input('输入一个运算符号','s');switch xcase {'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;otherwisec='无效'endc运行结果>> fa =55b =59输入一个运算符号+c =114>> fa =77b =14输入一个运算符号/c =5.5000>> fa =30b =58输入一个运算符号#c =无效c =无效5.程序代码A=input('输入一个5行6列的矩阵A=');n=input('输入一个正整数n=');if n<5&n>0disp(A(n,:));elsedisp(A(5,:));endlasterr运行结果>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 9 2 2 2 3;11 2 11 9 7 3;2 3 4 5 6 7] 输入一个正整数n=62 3 4 5 6 7ans =Undefined function or variable 'clcl'.>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一个正整数n=32 2 2 2 2 3ans =Undefined function or variable 'clcl'.。
matlab-第三次实验报告
Matlab 第三次实验报告 2012029010010 尹康1. 对高阶多项式()()()()()2011220k p x x x x x k ==---=-∏编程求下面方程的解()190p x x ε+=并绘图演示方程的解与扰动量ε的关系。
解:程序代码:p=[1,-1];for i=2:20n=[1,-i];p=conv(p,n); % 求多项式乘积 endm=zeros(1,21); % m 的最高次幂为20,有21项 hold onx=1:20;d=[-1,0,0.1,0.5,1];for i=1:5delt=d(i);m(2)=delt;y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); endtitle('方程p(x)=0的解与扰动量delt 的关系')legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1') 运行结果:心得体会:1.当delt=0时,程序运行结果仍然不能精确得到理论解,进一步说明计算机的表达能力是有限的,计算机中的运算总是存在舍入误差; 2当delt ≠0时,总的来说,即使|delt|很小,它对解的扰动也是巨大的;考察它对每个解的扰动程度,发现解的理论值越大,那么它受到的扰动越大; 3.当|delt|≠0的绝对值一定时,它是负值所造成的扰动大于它是正值时的。
2. 对220n = ,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量b 的方法,确定方程组()n H x b =最后,用矩阵分解方法求解方程组,并分析计算结果。
解:程序代码:clear allclcfor n=2:20h=hilb(n);fprintf('\n\nn=%-10dcond(Hn)∞=%d',n,cond(h,'inf'))%cond :求矩阵范数X=1:n;b=h*X';[l u]=lu(h); %lu分解x=u\(l\b); %利用lu分解求线性其次方程组的根 x=x';fprintf('\n X’=')for i=1:nfprintf('%-8.2f',X(i))endfprintf('\n x’=')for i=1:nfprintf('%-8.2f',x(i))endend运行结果:心得体会:1.采用lu 分解求解(x=u\(l\b ))的效率大大高于直接求解(x=A\b ); 2.当n ≤10时,尽管系数矩阵Hn 的条件数很大,但该算法所得解仍然能与理论解很好地吻合,说明病态问题并非一定不能求解;当n ≥11时(截图中红线所指),系统提示:Warning: Matrix is close to singular or badly scaled. Results may be inaccurate ,所得解的误差已经不能忽略。
matlab2009实验3参考解答
MATLAB 实验三MATLAB 计算可视化试验报告说明:1 做试验前请先预习,并独立完成试验和试验报告。
2 报告解答方式:将MATLAB 执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3 报告以Word 文档书写。
文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc 4 试验报告doc 文档以附件形式发送到maya_email@ 。
凡文档命名不符合规范,或者发送方式不正确,不予登记。
5 每次试验报告的最后提交期限:下周试验课之前。
6 欢迎访问我的教学论坛:/nbbs ,由此进入Matlab 专栏。
论坛注册时请在个人签名档写上自己的姓名和学号,以便于权限设置,可在论坛上交流学习,并可下载发布的试验报告和解答参考等相关资料。
一 目的和要求(1)熟练掌握MATLAB 二维曲线的绘制(2)熟练掌握图形的修饰(3)掌握三维图形的绘制(4)熟练掌握各种特殊图形的绘制(5)掌握句柄图形的概念(6)了解GUI 设计二 内容和步骤(说明:绘图题需在报告中粘贴图形结果。
)1 绘制二维曲线(必做)查阅stem 绘图指令,利用stem 绘制复指数序列n j e n x )3..01.0()(+-=(其中1010<<-n )的相关图形,要求:(1)把窗口分成2行2列。
(2)左上窗口绘制复指数序列的实部波形,窗口右上角绘制复指数序列的虚部波形,左下角绘制复指数序列的幅度波形,右下角绘制窗口的相位波形。
要求每个子图标注标题,X,Y 轴说明。
要求显示网格。
% 复指数序列程序n=-10:10;alpha=-0.1+0.3*j;x=exp(alpha*n);real_x=real(x); % 实部img_x=imag(x); % 虚部mag_x=abs(x); % 幅值phase_x=(180/pi)*angle(x); % 相角,转为角度subplot(2,2,1)stem(n,real_x);title('实数部分');xlabel('n');ylabel('real');grid onsubplot(2,2,2)stem(n,img_x);title('虚数部分');xlabel('n');ylabel('imag');grid onsubplot(2,2,3)stem(n,mag_x);title('幅度');xlabel('n');ylabel('abs');grid onsubplot(2,2,4)stem(n,phase_x);title('相位');xlabel('n');ylabel('phase');grid on同学解题过程存在的问题:1注意括号应用,有同学如此定义指数序列:x=exp(-0.1+j*0.3)*n,思考错在哪里?2绘图程序最好放在M脚本中编辑,部分同学是在命令窗口中,这样不便于对程序的调试和修正。
北京交通大学matlab上机实验3
第三次上机试验报告第一题:在同一坐标系下绘制t 2,- t 2,t 2sin t 在[0,2]t π∈内的曲线图;选择合适的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴名和图名。
>> t=0:0.1:2*pi;y1=t.^2;y2=-y1;y3=y1.*sin(t); >> plot(t,y1,'--r',t,y2,':c',t,y3,'gd') xlabel('t'),ylabel('y'),title('曲线图')01234567-40-30-20-10010203040ty曲线图第二题:选择合适的θ的范围,将同一图形窗口分割成2行2列绘制下列4幅极坐标图23(1) 1.0013(2)cos(3.5)sin (3)(4)1cos (7)ρθρρρθθθθ====-解:>> t=0:0.1:8*pi; >> y1=1.0013.*t.^2; >> y2=cos(3.5*t); >> y3=sin(t)./t; >> y4=1-(cos(7.*t)).^3; >> subplot(2,2,1),polar(t,y1); >> subplot(2,2,2),polar(t,y2); >> subplot(2,2,3),polar(t,y3); >> subplot(2,2,4),polar(t,y4);500 10003021060240902701203001503301800 0.5 13021060240902701203001503301800 0.5 13021060240902701203001503301800 123021060240902701203001503301800第三题:用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来显式鼠标点的横坐标值,然后将这些点连成折线。
MATLAB基础性实验报告3
学生实验报告一、实验目的学习最优化技术和基本原理, 了解最优化问题的分类;掌握线性规划的建模技巧和求解方法;熟悉MATLAB 软件求解线性规划模型的基本命令;通过范例学习, 熟悉建立线性规划模型的基本要素和求解方法。
通过该实验的学习, 使学生掌握最优化技术, 认识面对现实生活中的最优化问题, 怎样提出假设和建立优化模型, 并且学会使用MATLAB 软件进行线性规划模型求解的基本命令。
二、实验仪器、设备或软件: 电脑,MATLAB 软件三、实验内容1. 最优化问题的提出, 提出不同的假设可以建立不同的最优化模型;2. 建立线性规划模型的基本要素和步骤;3. 使用MATLAB 命令对线性规划模型进行计算。
四、实验步骤1. 开启MATLAB 软件平台, 开启MATLAB 编辑窗口;2.根据问题, 建立无约束或非线性规划模型, 并编写求解规划模型的M 文件;3. 保存文件并运行;4. 观察运行结果(数值或图形), 并不断地改变参数设置观察运行结果;5.根据观察到的结果和体会, 写出实验报告。
五、实验要求与任务1. 求解无约束优化2,1,55..713.2220),(min ))2cos()2(cos(5.0)(5.02.021212221=≤≤-+--=++-i x t s e ex x f i x x x x ππ1) 画出该曲面图形, 直观地判断该函数的最优解;2) 使用fminunc 命令求解, 能否求到全局最优解?解:1) 画图程序三维图形:[x,y]=meshgrid(-5:0.01:5,-5:0.01:5);z=(-20)*exp((-0.2)*sqrt(0.5*(x.^2+y.^2)))-exp(0.5*( cos(2*pi*x)+cos(2*pi*y)))+22.713;mesh(x,y,z)等高线图:[x,y]=meshgrid(-5:0.01:5,-5:0.01:5);z=(-20)*exp((-0.2)*sqrt(0.5*(x.^2+y.^2)))-exp(0.5*( cos(2*pi*x)+cos(2*pi*y)))+22.713;contour(x,y,z,20)drawnowhold onplot(1,1,'o');text(1,1,'atart point')plot(-1,-1,'o')text(-1,-1,'solution')直观地可以看出最优解为:(0, 0, 0)2)主函数: function f=fun1(x)f=(-20)*exp((-0.2)*sqrt(0.5*(x(1).^2+x(2).^2)))-exp (0.5*(cos(2*pi*x(1))+cos(2*pi*x(2))))+22.713;主程序: oldoptions=optimset('fminunc')options=optimset(oldoptions,'largescale','off') options11=optimset(options,'HessUpdate','dfp')[x11,fval11,exitflag11,output11]=fminunc('fun1',[11],options11)pausex11 =0 0fval11 =-0.0053exitflag11 =5output11 =iterations: 1funcCount: 72stepsize: 0.6107firstorderopt: 2.8284algorithm: 'medium-scale: Quasi-Newton line search'message: [1x362 char]2. 求解非线性规划1250,50,360010419.00675..10201.0max 32172321221723241≤≤≤≤≤≤≥-≥-=x x x x x x x t s x x x z 试判定你所求到的解是否是最优?解:建立M 文件fun2.m 定义目标函数:function f=fun2(x)f=-(0.201*x(1).^4*x(2)*x(3).^2)/(10.^7)建立M 文件mycon.m 定义非线性约束:function [g,ceq] =mycon(x)ceq=[ ];g=[x(1).^2*x(2)-675;(x(1).^2*x(3).^2)/(10.^7)-0.419];主程序为x0=[18;4;100];VLB=[ 0 0 0 ];VUB=[ 36 5 125 ];[x,fval,exitflag,output]=fmincon('fun2',x0,[ ], [ ],[ ],[ ],VLB,VUB,'mycon')fval=-fval结果:x =20.33781.6319100.6475fval =-56.8478exitflag =4output =iterations: 4funcCount: 16lssteplength: 1stepsize: 9.0469e-007algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'firstorderopt: 3.1330e-005constrviolation: 1.0499e-009message: [1x767 char]fval =56.8478一电路由三个电阻R1.R2.R3并联, 再与电阻R4串联而成, 记Rk上电流为Ik, 电压为Vk, 在下列情况下分别确定Rk使电路总功率最小(k=1, 2, 3, 4);(1)I1=4, I2=6, I3=8, 2(Vk(10;(2)V1=4, V2=6, V3=8, 2(Ik(6.(1)解:建立M文件fun3.m定义目标函数:function f=fun3(r);f=16*r(1)+36*r(2)+64*r(3)+324*r(4);建立M文件mycon1.m定义非线性约束:function [g ,ceq]=mycon1(r)g=[r(1)-1.5*r(2);r(1)-2*r(3);3*r(2)-4*r(3)];主程序:r0=[1;1;1;0.5];A=[ ];b=[ ];Aeq=[1 -1.5 0 0;1 0 -2 0;0 3 -4 0];beq=[0 0 0 ];VLB=[0.5 1/3 0.25 1/9];VUB=[2.5 5/3 1.25 5/9];[r,fval]=fmincon('fun3',r0,A,b,Aeq,beq,VLB,VUB,'myc on')结果:Active inequalities (to within options.TolCon =1e-006):lower upper ineqlin ineqnonlin1234r =0.50000.33330.25000.1111fval =72.0000(2)题目有问题!心得体会: 对无约束、非线性规划最重要的是建立模型, 分析题意。
MATLAB实验报告3
MATLAB实验报告3MATLAB实验报告3一、实验目的1.掌握MATLAB程序的调试方法;2.掌握MATLAB中的矩阵操作;3.熟悉MATLAB中处理图像的基本操作。
二、实验内容1.用MATLAB调试程序;2.用MATLAB进行矩阵运算;3.用MATLAB处理图像。
三、实验原理及步骤1.MATLAB程序的调试方法在MATLAB中调试程序可以采用设置断点、逐行运行、单步调试等方法。
设置断点可以在程序中的其中一行上点击左键,会出现一个红色的圆点表示断点已设置。
逐行运行可以通过点击Editor界面上的运行按钮实现。
单步调试可以通过点击断点所在行的左侧按钮实现。
2.矩阵运算在MATLAB中,对于矩阵的运算可以使用一些基本的函数,如矩阵加法、减法、乘法等。
矩阵加法可以使用"+"操作符实现,减法可以使用"-"操作符实现,乘法可以使用"*"操作符实现。
另外,MATLAB还提供了一些更复杂的矩阵运算函数,如矩阵的转置、逆等。
3.图像处理在MATLAB中,可以使用imread函数加载图像文件,使用imshow函数显示图像,使用imwrite函数保存图像。
另外,还可以使用一些图像处理函数对图像进行处理,如灰度化、二值化、平滑滤波等。
四、实验步骤1.调试程序首先,在MATLAB的Editor界面中打开要调试的程序文件。
然后,在程序的其中一行上点击左键,即设置了一个断点。
最后,点击运行按钮,程序会在断点处停下,然后可以通过单步调试和逐行运行来逐步查看程序的执行过程和变量的取值。
2.矩阵运算首先,定义两个矩阵A和B,并赋值。
然后,使用"+"操作符对两个矩阵进行相加,得到矩阵C。
最后,使用disp函数显示矩阵C的值。
3.图像处理首先,使用imread函数加载一张图像。
然后,使用imshow函数显示加载的图像。
接着,使用rgb2gray函数将彩色图像转换为灰度图像。
【原创】MATLAB实验报告-第一次-MATLAB语言程序设计基础-北京交通大学
输入what<目录名>,表示将分类显示所选择目录下的所有相关文件;
输入ver singal,表示列出singal工具箱的版本信息。
2、在命令窗口中输入 命令,执行后用方向 或 键(历史命令)将该命令调出,在行内编辑,将其改为6阶魔术矩阵命令。
输入magic(4),显示4阶魔术矩阵,按上方向键调出magic(4)命令,并将4改为6,便显示出6阶魔术矩阵。
3、用Matlab语言绘制函数 在 内的曲线。
输入>> t=0:0.1:2*pi;y=t.*cos(t);plot(t,y),显示出图像。
4、选择适当的坐标范围,用Matlab语言绘制函数: 的三维曲线。
输入
>> [x,y]=meshgrid(-3:0.1:3);
>> z=(x.^2+y).*exp(-x.^2-y.^2/2);
输入addpath E:\qinmin,将E:\qinmin目录添加到Matlab包含的路径下:
>> addpath E:\qinmin
(3)显示格式
输入format long,表示输出双精度数时小数点后保留14位有效数字,输出单精度数是小数点后保留7位有效数字;
输入format short e,表示输出数字用5位科学技术表示;
>> surf(x,y,z),colorbar
显示三维图像:
三、实验感想
本次Matlab上机实验是我第一次亲自操作Matlab软件并实现一些简单的功能。虽然只是实验了一些基本的命令,显示了魔术矩阵和绘制了简单的函数图像,但是这次实验也使我意识到了Matlab软件的强大。Matlab是著名的数学工具,在各科研领域都具有不可忽视的影响力。作为通信工程的本科生,我们也不可避免地需要使用Matlab来处理一些实验数据,所以熟练使用Matlab也是我们必备的技能之一。
北京交通大学《信号与系统》 课后matlab作业
Matlab课后作业1.M2-1(1)Matlab程序:t=-5:0.01:5;x=(t>0)-(t>2);plot(t,x);axis([-5,5,-2,2]);仿真结果:(8)Matlab程序:t=-10:0.01:10;pi=3.14;x=sin(pi*t)./(pi*t).*cos(30*t);plot(t,x);仿真结果:M2-2Matlab程序:t=-2:0.001:2;x=(t>-1)-(t>0)+2*tripuls(t-0.5,1,0); plot(t,x);axis([-2,2,-2,2]);仿真结果:M3-3(1)function yt=f(t)yt=t.*(t>0)-t.*(t>=2)+2*(t>=2)-3*(t>3)+(t>5); (2)Matlab程序:t=-10:0.01:11;subplot(3,1,1);plot(t,f(t));title('x(t)');axis([-1,6,-2,3]);subplot(3,1,2);plot(t,f(0.5*t));axis([-1,11,-2,3]);title('x(0.5t)');subplot(3,1,3);plot(t,f(2-0.5*t));title('x(2-0.5t)');axis([-9,5,-2,3]);仿真结果:M2-9(1)Matlab程序:k=-4:7;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; stem(k,x);仿真结果:(2)Matlab程序:k=-12:21;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; N=length(x);y=zeros(1,3*N-2);y(1:3:end)=x;stem(k,y);仿真结果:Matlab程序:k=-1:3;x=[0,0,-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; x1=x(1:3:end);stem(k-1,x1);仿真结果:(3)Matlab程序:k=-6:5;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; stem(k,x);仿真结果:程序>> k=-2:9;>> x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; >> stem(k,x);结果程序>> k=-4:7;>> x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; >> xk=fliplr(x);>> k1=-fliplr(k);>> stem(k1,xk);结果M3-1(1)程序>> ts=0;te=5;dt=0.01; >> sys=tf([2 1],[1 3 2]); >> t=ts:dt:te;>> x=exp(-3*t).*(t>=0); >> y=lsim(sys,x,t);>> plot(t,y);>> xlabel('Time(sec)') >> ylabel('y(t)')结果(2)程序>> ts=0;te=5;dt=0.0001; >>sys=tf([2 1],[1 3 2]); >>t=sys:dt:te;>>x=exp(-3*t).*(t>=0); >>y=lsim(sys,x,t);>>plot(t,y);>>xlabel('Time(sec)') >>ylabel('y(t)')结果M3-4>> x=[0.85,0.53,0.21,0.67,0.84,0.12]; >> k1=-2:3;>> h=[0.68,0.37,0.83,0.52,0.71];>> k2=-1:3;>> y=conv(x,h);>> k=(k1(1)+k2(1)):(k1(end)+k2(end)); >> stem(k,y)结果M6-1(1)>> num=[16 0 0];>> den=[1 5.6569 816 2262.7 160000]; >> [r,p,k]=residue(num,den)得r =0.0992 - 1.5147i0.0992 + 1.5147i-0.0992 + 1.3137i-0.0992 - 1.3137ip =-1.5145 +21.4145i-1.5145 -21.4145i-1.3140 +18.5860i-1.3140 -18.5860ik =[]所以可得 X(s)=j s j j s j j s j 5860.183140.13137.10992.05860.183140.13137.10992.04145.215145.15147.10992.021.4145j -1.5145s j 5147.1-0992.0++--+-++-++++++x(t)=3.0108e-1.5145tcos(21.4145t-1.5054)u(t)+2.635e-1.314tcos(18.586t+1.6462)u(t ) (2)X(s)=)2552^)(5(2^+++s s s s解:>> num=[1 0 0 0];den=conv([1 5],[1 5 25]);[r,p,k]=residue(num,den)[angle,mag]=cart2pol(real(r),imag(r))得r =-5.0000 + 0.0000i-2.5000 - 1.4434i-2.5000 + 1.4434ip =-5.0000 + 0.0000i-2.5000 + 4.3301i-2.5000 - 4.3301ik =1angle =3.1416-2.61802.6180mag =5.00002.88682.8868所以X(s)=3301.45.24434.15.23301.45.24434.15.25s 5.0-1j s j j s j +++-+-+--+++x(t)=δ(t)+5e-5tu(t)+5.7736e-2.5tcos(4.3301t-2.618)u(t)M6-2程序>> t=0:0.1:10;>> y1=(2.5*exp(-t)-1.5*exp(-3*t)).*(t>=0);>> y2=((1/3)+2*exp(-t)-(5/6)*exp(-3*t)).*(t>=0);>> y=((1/3)+(9/2)*exp(-t)-(7/3)*exp(-3*t)).*(t>=0);>> plot(t,y1,'r-',t,y2,'g--',t,y,'b-')>> xlabel('Time');>> legend('零输入响应','零状态响应','完全响应')结果M6-5>> num=[1 2];>> den=[1 2 2 1];>> sys=tf(num,den);>> pzmap(sys)>> num=[1 2];den=[1 2 2 1];[r,p,k]=residue(num,den) [angle,mag]=cart2pol(real(r),imag(r))1.0000 + 0.0000i-0.5000 - 0.8660i-0.5000 + 0.8660ip =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660ik =[]angle =-2.09442.0944mag =1.00001.00001.0000所以H(s)=866.05.0866.05.0866.05.0866.05.01s 1j s j j s j +++-+-+--++系统冲激响应h(t)=e-tu(t)+2e-0.5tcos(0.866t-2.0944)u(t)>> num=[1 2];>> den=conv([1 0],[1 2 2 1]);>> [r,p,k]=residue(num,den)r =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660i2.0000 + 0.0000ip =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660i0.0000 + 0.0000ik =[][angle,mag]=cart2pol(real(r),imag(r))angle =3.14162.0944-2.0944mag =1.00001.00001.00002.0000所以Y(s)=s j s j j s j 2866.05.0866.05.0866.05.0866.05.0-1s 1-+++--+-++++ 系统阶跃响应y(t)=e-tu(t)+2e-0.5tcos(0.866t+2.0944)u(t)因为系统的冲激响应h(t)=e-tu(t)-1.00001e-0.5tcos(0.866t)u(t)+1.73205e-0.5tsin(0.866t)u(t) 所以系统的频率响应H(j ω)=5.0)866.0(866.05.0)866.0(866.05.0)866.0(5.05.0)886.0(5.01j 1j j j j ++--+--++-+++++ωωωωω。
MATLAB实验报告3(1)
四、实验内容与步骤:1.绘制下列曲线.(1) y=x-(x^3)/6程序输入如下:fplot('x-(x^3)/6',[-5,5],'r.');程序输出:(2) x^2+2*y^2=64程序输入如下:ezplot(' x^2+2*y^2-64',[-8,8])程序输出:2.设y=1/(1+exp(-t)) –pi<=t<=pi在同一图形窗口采用子图的形式绘制条形图阶梯图杆图和对数坐标图等不同图形,并对不同图形加标注说明.程序输入如下:t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'r');title('条形图');axis([-4,4,0,1]);subplot(2,2,2);stairs(t,y,'b');title('阶梯图');axis([-4,4,0,1]);subplot(2,2,3);stem(t,y,'g');title('杆图');axis([-4,4,0,1]);subplot(2,2,4);semilogx(t,y,'k');title('对数坐标图');axis([-4,4,0,1]);程序输出:3.绘制下列极坐标图.(1) y=5*cos(x)+4(2) y=(5*sin(x)*sin(x))/cos(x) (1)程序输入:x=0:pi/50:2*pi;y=5*cos(x)+4;polar(x,y,'-*');程序输出:(2)程序输入:x=-pi/3:pi/50:pi/3;y=(5.*sin(x).*sin(x))./cos(x);polar(x,y,'-*');程序输出:4.绘制下列三维图形(1)x=exp(-t/20).*cos(t)y=exp(-t/20).*sin(t)z=t0<=t<=2*pi(2)z=5abs(x)<=5abs(y)<=5要求应用插值着色处理(1)程序输入:t=0:pi/10:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z);title('三维图形4-1');xlabel('x');ylabel('y');zlabel('z'); grid on;程序输出:(2)程序输入:[x,y]=meshgrid(-5:0.5:5); z=0*(x-y)+5;surf(x,y,z);shading interp;title('三维图形4-2');程序输出:五、实验总结:2.绘制下列曲线,(1) y=exp(-x*x/2)/(2*pi)程序输入:fplot('exp(-x*x/2)/(2*pi)',[0,5],'r.')程序输出:(2) x=t*sin(t)y=t*cos(t)程序输入:t=0:0.1:2*pi;x=t.*sin(t);y=t.*cos(t);plot(x,y);程序输出:3.在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点(1) y=2*x-0.5(2) x=sin(3*t).*cos(t)y= sin(3*t).*sin(t)0<=t<=pi程序输入:t=0:pi/100:pi;x=sin(3*t).*cos(t);y2=sin(3*t).*sin(t);y1=2*x-0.5;plot(x,y1,'m',x,y2,'g');hold onk=find(abs(y2-y1)<1e-4);x1=x(k);y3=2*x1-0.5;plot(x1,y3,'bp');程序输出:4.分别用plot和fplot函数绘制函数y=sin(1/x)的曲线,分析两曲线的差别程序输入:x=-1:pi/100:1;y=sin(1./x);subplot(2,1,1);plot(x,y,'g');subplot(2,1,2);fplot('sin(1./x)',[-1,1],'m');程序输出:两曲线的差别plot函数在取数据点时一般都是等间隔采样,fplot函数可自适应地对函数进行采样,能更好的反应函数的变化规律6.绘制曲面图形(1)x=3*u*sin(v)y=2*u*cos(v)z=4*u*u程序输入:[u,v]=meshgrid(0:pi/100:2*pi);x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.*u;mesh(x,y,z);程序输出:严重觉得对细节方面很重要,,差一个点就能导致整个程序的不能运行。
matlab第三次实验报告
《调制定理》
实
验
报
告
班级:
学号:
姓名:
实验时间:
主讲教师:
1、答:引文首先频分多路复用是一种将信道带宽分割为多种不同
频带的子信道的技术,划分后的每个子信道可以并行传送一路信
号。
其次,频分复用的实现是通过将需要传输的每路信号调制到
不同的载波频率上,并且各个载频之间保留足够宽的距离(即一
定的保护间隔),使得相邻的频带不会相互重叠,这样传输过程中
不同频率的各路信号便不会相互干扰,而且在接收端可以很容易
的利用带通滤波器把各路信号再分割开来,恢复到多路复用前的
分路情况.
2、答:傅里叶变换是信号分析的最重要的内容之一。
从已知信号f (t)求出相应的频谱函数F(jω)的数学表示为:
f (t)的傅里叶变换存在的充分条件是f (t)在无限区间内绝对可积,即f (t)满足下式:
但上式并非傅里叶变换存在的必要条件。
在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。
傅里叶反变换的定义为:。
【原创】MATLAB实验报告材料-第二次-用MATLAB实现计算大数据可视化-北京交通大学
MATLAB上机实验报告(2)实验容:一、试用如下几种方法来建立向量,观察结果(1)x=1:5, x=(1:5)’实验结果: x=1:5 是行向量,x=(1:5)’是列向量.且1为初始值,5为终止值,默认的步长为1.>> x=1:5x =1 2 3 4 5>> x=(1:5)'x =12345(2)x=0:pi/4:pi实验结果: x=0:pi/4:pi指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi).其中pi为圆周率,初始值为0,终止值为pi,步长为pi/4.>> x=0:pi/4:pix =0 0.7854 1.5708 2.3562 3.1416 (3)x=(0:0.2:3)’, y=exp(-x).*sin(x)实验结果: x的初始值为0,终止值为3,步长为0.2.而函数y表示将x向量中的每一个数代入函数y=e^(-x)*sin(x)得到的函数值组成的向量.>> x=(0:0.2:3)', y=exp(-x).*sin(x)x =0.20000.40000.60000.80001.00001.20001.40001.60001.80002.00002.20002.40002.60002.80003.0000 y =0.16270.26100.30990.32230.30960.28070.24300.20180.16100.12310.08960.06130.03830.02040.0070(4)k=linspace(-pi,pi,5), k=logspace(-3,-1,5)实验结果:k=linspace(-pi,pi,5),产生的是初始值为-pi,终止值为pi,元素总数为5的行向量,即k的步长为pi/2. k=logspace(-3,-1,5)产生的是初始值为10^(-3),终止值为10^(-1),元素总数为5的列向量.其中第n个元素为10^(-3+0.5*n).>> k=linspace(-pi,pi,5), k=logspace(-3,-1,5)k =-3.1416 -1.5708 0 1.5708 3.1416 k =0.0010 0.0032 0.0100 0.0316 0.1000二、已知x=[1 2 3],y=[4 5 6],试计算z=x.*y, x.\y和x./y。
实验三MATLAB绘图(含实验报告)
⑵
t=0:0.1:10*pi;
x=exp(-t/20).*cos(t);
y=exp(-t/20).*si n(t);
z=t/7;
plot3(x,y,z,'b-','li newidth',1);
(t)。其中,t的区间为0~2*pi,步长为0.1。
2.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,
每圈上升高度为1。如左图所示。
(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形
四、实验报告要求(包含预习报告要求和最终报告要求)
1.实验名称
2. 实验目的
3.实验设备及条件
计算机一台(带有MATLAB7.C以上的软件环境)
4.实验内容及要求
完成所给实验题以及思考题,题与题之间用相应注释分割。注意对实验中出
现的相关函数或变量,请使用help或doc查询相关帮助文档,学习函数的用法
5.实验程序设计
第一题:
a=ra nd(1,10); subplot(2,2,1); plot(a,'r'); axis('equal');
title('连线图'); subplot(2,2,2) stem(a,'y');
axis('equal'); title('杆图');
subplot(2,2,3); stairs(a,'b'); axis('equal');
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京交通大学MATLAB 实验3
实验内容
一、 在同一坐标系下绘制t 2,- t 2,t 2sin t 在[0,2]t π∈内的曲线图;选择合适的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴名和图名。
仿真程序:
%实验三,题1
close all;clear all;clc;
t=linspace(0,2*pi,1024);
y1=t.^2;
y2=-t.^2;
y3=(t.^2).*sin(t);
figure(2);plot(t,y1,':y',t,y2,'--g',t,y3,'-r');
legend('y=t^2','y=-t^2','y=t^2*sin(t)');
title('三个函数图形');xlabel('t');ylabel('f(t)');
仿真结果:
二、 选择合适的θ的范围,讲同一图形窗口分割成2行2列绘制下列4幅极坐标图 2
3(1) 1.0013(2)cos(3.5)sin (3)(4)1cos (7)
ρθρρρθθθ
θ====-
仿真程序:
%实验三,题2
theta=linspace(0,16*pi,2048);
subplot(2,2,1);polar(theta,1.0013*theta.^2);
subplot(2,2,2);polar(theta,cos(3.5*theta));
subplot(2,2,3);polar(theta,sin(theta)./theta);
subplot(2,2,4);polar(theta,1-(cos(7*theta)).^3);
仿真结果:
三、 用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来显式鼠标
点的横坐标值,然后将这些点连成折线。
仿真程序:
%实验三,题3
close all;clc;clear all;
axis([0,10,0,10]);
hold on;
box on;
x=[];y=[];
while(1)
[x1,y1,button]=ginput(1);
if(button~=1)
break;
end
plot(x1,y1,'ro');
x=[x,x1];
y=[y,y1];
text((x1+0.1),y1,mat2str(x1));
end
line(x,y);
hold off;
仿真结果:
四、求积分
4
()
a f x dx
=⎰,其中
2
ln,
()ln16
,2
2sin(1)
2
x if x
f x
if x
xπ
⎧
⎪
=⎨
>
⎪++
⎩
≤
1.9741
仿真程序:
%实验三,题4
close all;clear all;clc;
syms y1 y2 x;
y1=int(log(x^2),x,0,2);
y2=int(log(16)/(2+sin((x+1)*pi)),x,2,4);
y=y1+y2;
disp(double(y));
仿真结果:
五、求解方程x5+6x4-3x2=10的5个根,并将其位置用五角星符号标记在复平面上,要
求横纵坐标轴刻度等长,注明虚轴和实轴,在title位置上写出方程。
仿真程序:
%实验三,题5
clc;close all;clear all;
factor=[1 6 0 -3 0 -10];
ro=roots(factor);
disp(ro);
scatter(real(ro),imag(ro),'p');
axis equal;
title('x^5+6x^4-3x^2=10');
xlabel('real axis');ylabel('imagine axis(j)');
仿真结果:
六、 某班同学成绩已经存放在矩阵A 中,每行为某一位同学的数据,第1列为学号,
第2列至第4列为其三门课程的成绩,试编程按照3门课平均成绩由小到大的顺序重新排列成绩表,并放在矩阵B 中。
99234012957388992340338477809923400966807299234067929359A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
仿真程序:
%实验三,题6
clc;clear all;close all;
A=[99234012,95,73,88;
99234033,84,77,80;
99234009,66,80,72;
99234067,92,93,59];
[y,index]=sort(mean(A(:,2:end),2));
B=A(index,:);
disp(B);
仿真结果:
七、 解如下微分方程,并绘制出图像y (x ) 2002()0,|0[0,1,|]1,x x y y y y x ==-===∈- 仿真程序:
function xdot=f_03(t,x)
xdot=[x(2);2*(x(2))^2];
t0=0;tf=1;
x0=[0,-1];
[t,x]=ode45('f_03',[t0,tf],x0);
plot(t,x(:,1));
title('y=f(x)');
xlabel('x');ylabel('y');
仿真结果:。