matlab实验3 4 5
matlab作业
上机实践练习五实验五:MATLAB 数据可视化实验目的:掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。
学时:2学时实验内容:(1)二维图形绘制。
(2)隐函数绘图(2) 三维曲线和三维曲面绘制。
(3) 图像文件的读取和显示。
1.写出实现下列图形的M文件。
t=[0:0.1:pi];y1=sin(2*t);y2=cos(3*t);plot(t,y1,'b-o');hold onplot(t,y2,'k:o');xlabel('ʱ¼ä')ylabel('·ùÖµ')text(1,sin(2*1),'\fontsize{16}\leftarrowsin(2t) ');text(2.4,cos(3*(2.4)),'\fontsize{16}cos(3t)\rightarrow ',... 'HorizontalAlignment','right')2. 将窗口分割成4个区域,并且在[]0,2π区间上绘制1sin 2,6y x π⎛⎫=+⎪⎝⎭()224cos 3,y x =()3cos y x =,()35sin 1y x =+四条曲线,并且给每一个图形添加标题和标注。
clearx=0:pi/10:2*pi; y1=sin(2.*x+pi/6); y2=4.*cos(3.*x.^2); y3=cos(x); y4=5.*sin(x+1); subplot(2,2,1); plot(x,y1); title('y1');text(1,sin(2*1+pi/6),'sin(2*x+pi/6)') subplot(2,2,2); plot(x,y2)title('y2');text(2,4.*cos(3*2^2),'4*cos(3*x^2)') subplot(2,2,3); plot(x,y3)title('y3');text(2,cos(2),'cos(x)')subplot(2,2,4);plot(x,y4)title('y4');text(2,5.*sin(3),'5*sin(x+1)')3.已知y1=x2,y2=cos(2x),y3=y1*y2,其中x为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作(1)在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例。
MATLAB(实验五)
实验五1、 编写程序,该程序在同一窗口中绘制函数在[]0,2π之间的正弦曲线和余弦曲线,步长为200/π,线宽为 2 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记,并通过函数方式在生成的图形中添加注释,至少应包括:标题,文本注释,图例和坐标轴标注。
x=0:pi/200:2*pi;sinx = sin(x); cosx = cos(x);k=find(abs(sinx-cosx)<1e-2); x1=x(k);figure,plot(x,sinx,'LineWidth',2) hold on ,plot(x,cosx,'r:','LineWidth',2)hold on ,plot(x(find(cosx==sinx)),cosx(find(cosx==sinx)),'r*','LineWidth',2)hold on ,plot(x1,sin(x1),'r*') xlabel('x:(0-2\pi)'); ylabel('y:sin(x)/cos(x)');title('正弦曲线和余弦曲线');text(x1+0.1,sin(x1),'sin(x)=cos(x)');gtext('sin(x)') gtext('cos(x)')legend('sin(x)','cos(x)')2、 绘制图像:双曲抛物面:22164x y z =-,1616x -<<,44y -<<,并对绘制的双曲抛物面尝试进行视点控制。
[X,Y] = meshgrid(-16:0.4:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4;subplot(1,3,1),plot3(X,Y,Z),view(0,180),title('azimuth = 0,elevation = 180'); subplot(1,3,2),plot3(X,Y,Z),view(-37.5,-30),title('azimuth = -37.5,elevation = -30');subplot(1,3,3),plot3(X,Y,Z),view([3,3,2]),title('viewpoint=[3,3,1]');3、 表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB 运算基础1. 先求以下表达式的值,然后显示MATLAB 工作空间的利用情形并保留全数变量。
(1) 0122sin851z e=+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求以下表达式的值:(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 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C的右下角3×2子矩阵赋给D。
(3) 查看MATLAB工作空间的利用情形。
解:. 运算结果:4. 完成以下操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 成立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 成立一个字符串向量例如:ch='ABC123d4e56Fg9';那么要求结果是:实验二 MATLAB 矩阵分析与处置1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 别离为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB实验报告
v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。
②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。
设置当前路径,以方便文件管理。
2.学习使用clc 、clear ,了解其功能和作用。
3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。
4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。
数字信号处理实验(吴镇扬版)matlab程序
stem(n,xk1)
xlabel('k');
ylabel('Xa(k)');
title('p=14 q=8’)
分析:
由高斯序列表达式知n=p为期对称轴;
当p取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱;
plot(n,xa1,'-*');
xlabel('t/T');
ylabel('xa(n)');
xk1=abs(fft(xa1));
title('p=13 q=8')
subplot(5,2,8);
stem(n,xk1)
xlabel('k');
ylabel('Xa(k)');
title('p=13 q=8')
end
for i=1:3
for m=1:10
x10(i*10+m)=x10(m);
end
end
n=1:40;
subplot(3,1,3);stem(n,x10);xlabel('n');ylabel('x10');
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本:
a) x1(n)=2x(n+2)-x(n-1)-2x(n)
subplot(4,2,6);stem(n,f);
xlabel('n');xlim([0 5]);ylabel('F');
MATLAB实验题答案
1、求以下变量的值,并在MATLAB 中验证。
( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 82、下列运算是否合法,为什么?如合法,结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 25 8 11 >> result4=b*d result4 =31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13-5 -8 7>> result6=a.*b result6 =2 8 -34 15 30 >> result7=a./b result7 =0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 =2 4 816 32 64 3、用MATLAB 求解下面的的方程组。
(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2)⎪⎪⎩⎪⎪⎨⎧=-++=--=-++=++56533332821w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6]>> B2=[1;8;3;5] >> x2=inv(A1)*B24、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A (1)求矩阵A 的秩(rank) (2)求矩阵A 的行列式(determinant) (3)求矩阵A 的逆(inverse) (4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 5、109910101022222++++==---=∑n n y ,求y=?(运行format long g 命令后,查看y 的值) m1=0; for m=-10:10 m1=m1+2^m; end m1 m1 = 2047.9990234375 6、求分段函数的值。
MATLAB实验
MATLAB实验一:MATLAB语言基本概念实验实验目的:1. 熟悉MATLAB语言及使用环境;2.掌握MATLAB的常用命令;3.掌握MATLAB的工作空间的使用;4.掌握MATLAB的获得帮助的途径。
5.掌握科学计算的有关方法,熟悉MATLAB语言及其在科学计算中的运用;6.掌握MATLAB的命令运行方式和M文件运行方式;7.掌握矩阵在MATLAB中的运用。
实验方案分析及设计:本次实验主要目的是了解MATLAB的使用环境,以及常用的一些命令的使用;了解矩阵在MATLAB实验中的具体运用,以及相关的一些符号命令的使用。
实验器材:电脑一台,MATLAB软件实验步骤:打开MATLAB程序,将实验内容中的题目依次输入MATLAB中,运行得到并记录结果,最后再对所得结果进行验证。
实验内容及要求:1.熟悉MATLAB的菜单和快捷键的功能2.熟悉MATLAB的命令窗口的使用3.熟悉常用指令的使用format clc clear help lookfor who whos 4.熟悉命令历史窗口的使用5. 熟悉MATLAB工作空间的功能将工作空间中的变量保存为M文件,并提取该文件中的变量6.熟悉MATLAB获取帮助的途径将所有plot开头的函数列出来,并详细给出plotfis函数的使用方法1. 输入 A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2;3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3)A(:,3).*B(:,2) A(:,3)*B(2,:) A*BA.*BA^2 A.^2 B/A B./AA=[7 1 5;2 5 6;3 1 5]7 1 52 5 63 1 5>> B=[1 1 1; 2 2 2;3 3 3]1 1 12 2 23 3 3>> A(2, 3)6>> A(:,2)151>> A(3,:)3 1 5>> A(:,1:2:3)7 52 63 5>> A(:,3).*B(:,2)51215>> A(:,3)*B(2,:)10 10 1012 12 1210 10 10>> A*B24 24 2430 30 3020 20 20>> A.*B7 1 54 10 129 3 15>> A^266 17 6642 33 7038 13 46>> A.^249 1 254 25 369 1 25>> B/A0.1842 0.2105 -0.23680.3684 0.4211 -0.47370.5526 0.6316 -0.7105>> B./A0.1429 1.0000 0.20001.0000 0.4000 0.33331.0000 3.0000 0.60002.输入 C=1:2:20,则 C (i )表示什么?其中 i=1,2,3, (10)1到19差为2,i 代表公差3. 试用 help 命令理解下面程序各指令的含义:cleart =0:0.001:2*pi;subplot(2,2,1);polar(t, 1+cos(t))subplot(2,2,2);plot(cos(t).^3,sin(t).^3)subplot(2,2,3);polar(t,abs(sin(t).*cos(t)))subplot(2,2,4);polar(t,(cos(2*t)).^0.5)4计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。
Matlab实验指导书(含答案)
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1) y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1) y=cos(x);(2) y=1/(1+x^2);(3) y=1/sqrt(1-x^2);(4) y=(x-1)/(x+1)/(x+2);求反函数(1) y=(x-1)/(2*x+3);(2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2) sin(x)^2+cos(x)^2;(3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1) y1=(x+1)^2(2) y2=(x+2)^2(3) y3=2*x^2(4) y4=x^2+2(5) y5=x^4(6) y6=x^2/23.两个函数之间的操作求和(1) sin(x)+cos(x)(2) 1+x+x^2+x^3+x^4+x^5乘积(1) exp(-x)*sin(x)(2) sin(x)*x商(1) sin(x)/cos(x);(2) x/(1+x^2);(3) 1/(x-1)/(x-2);求复合函数(1) y=exp(u) u=sin(x)(2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x三、设计提示1.初次接触Matlab应该注意函数表达式的文本式描述。
matlab实验
实验一1、计算y=x^3+(x-0.98)^2/(x+1.35)^3-5*(x+1/x)当x=2,x=4的值。
2、计算cos(pi/3)-(9-2^(1/2))^(1/3)。
3、已知a=3,A=4,b=a^2,B=b^2-1,c=a+2*B+c,求C。
4、创建一个3*3矩阵,然后用矩阵编辑器将其扩充为4*5矩阵。
5、创建一个4*4矩阵魔方阵和相应的随机矩阵,将两个矩阵并接起来,然后提取任意两个列向量。
7设A=[1,4,8,13;-3,6,-5,-9;2,-7,-12,-8],B=[5,4,3,-2;6,-2,3,-8;-1,3,-9,7],求C=A*B’,D=A.*B。
8、求(s^2+2)(s+4)(s+1)/(s^3+s+1)的“商”及“余”多项式。
9、建立矩阵A,然后找出在[10,20]q区间的元素的位置。
10、创建一个有7个元素的一维数组,并做如下处理:1)直接访问一位数组的第6个元素;2)寻访一维数组的第1、3、5个元素;3)寻访一维数组中的第4个至最后1个元素;4)寻访一维数组中大于70的元素。
三、实验程序:NO.1>> x=[2,4]x = 2 4>> y=x.^3+(x-0.98).^2/(x+1.35).^3-5*(x+1./x)y =-4.4423 42.8077>>NO.2>> cos(pi/3)-(9-sqrt(2))^(1/3) ans =-1.4649>>3>> a=3a =NO. 3>> A=4A =4>> b=a^2b =9>> B=b^2-1B =80>> c=a+A-2*Bc =-153>> C=a+2*B+cC =10NO..4A=rand(3)A =0.5341 0.8385 0.70270.7271 0.5681 0.54660.3093 0.3704 0.4449>> B=rand(3,2)B =0.6946 0.95680.6213 0.52260.7948 0.8801>> C=rand(1,5)C =0.1730 0.9797 0.2714 0.2523 0.8757 >> F=[A,B;C]F =0.5341 0.8385 0.7027 0.6946 0.95680.7271 0.5681 0.5466 0.6213 0.52260.3093 0.3704 0.4449 0.7948 0.88010.1730 0.9797 0.2714 0.2523 0.8757 NO.5>> A=magic(4)A =16 2 3 135 11 10 89 7 6 124 14 15 1>> B=rand(3,4)B =0.7373 0.8939 0.6614 0.06480.1365 0.1991 0.2844 0.98830.0118 0.2987 0.4692 0.5828 >> C=[A;B]C =16.0000 2.0000 3.0000 13.00005.0000 11.0000 10.0000 8.00009.0000 7.0000 6.0000 12.00004.0000 14.0000 15.0000 1.00000.7373 0.8939 0.6614 0.06480.1365 0.1991 0.2844 0.98830.0118 0.2987 0.4692 0.5828 >> C(:,[1,2])ans =NO.6>> A=[-4,-2,0,2,4;-3,-1,1,3,5]A =-4 -2 0 2 4-3 -1 1 3 5>> LA=abs(A)>3LA =1 0 0 0 10 0 0 0 1>> A(LA)ans =-445>>NO.7>> A=[1,4,8,13;-3,6,-5,-9;2,-7,-12,-8]A =1 4 8 13-3 6 -5 -92 -7 -12 -8>> B=[5,4,3,-2;6,-2,3,-8;-1,3,-9,7]B =5 4 3 -26 -2 3 -8-1 3 -9 7>> C=A*B'C =19 -82 3012 27 3-38 54 29>> D=A.*BD =5 16 24 -26-18 -12 -15 72-2 -21 108 -56>>NO.8>> den=conv([1,0,2],conv([1,4],[1,2])) den =1 6 10 12 16 num=[1,0,1,1];>> [q,r]=deconv(den,num)q =1 6r =0 0 9 5 10>>NO.9>> A=[10,15,8;5,16,35;16,8,26]A =10 15 85 16 3516 8 26>> (A>=10)&(A<=20)ans =1 1 00 1 01 0 0>>NO.10x =1 2 3 4 5 6 7 >> x(1)ans =1>> x(3)ans =3>> x(5)ans = 5>> x(4:end)ans = 4 5 6 7>> x(x>70)ans =Empty matrix: 1-by-0>>实验二1. 设()23sin cos 0.51x y x x ⎡⎤⎢⎥=++⎢⎥⎣⎦,把0~2x π=区间分为125点,画出以x 为横坐标,y 为纵坐标的曲线。
MATLAB程序设计与应用课后实验答案
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
运算结果:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
由ans,所以
2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
解:M文件如下:
输出结果:
H =
P =
1 1 1 1 1
Columns 57 through 60
Column 61
z4 =
0 0
2. 已知:
求下列表达式的值:
(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]
解:
M文件:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
实验四 循环结构程序设计
一、实验目的
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。
MATLAB实验
MATLAB实验实验⼀MATLAB操作基础⼀、实验⽬的1、熟悉MATLAB的操作环境及基本操作⽅法。
2、掌握MATLAB的搜索路径及其设置⽅法。
3、熟悉MATLAB帮助信息的查阅⽅法。
⼆、实验内容1、先建⽴⾃⼰的⼯作⽬录,再将⾃⼰的⼯作⽬录设置到MATLAB搜索路径下,再试验⽤help命令能否查询到⾃⼰的⼯作⽬录。
2、在MATLAB环境下验证例1-1⾄1-4,并完成以下题⽬:(1)绘制右图所⽰图形(23、利⽤MATLAB的帮助功能分别查询inv,plot、max、round等函数的功能及⽤法。
4、在⼯作空间建⽴⼀个变量a ,同时在当前⽬录下建⽴⼀个M⽂件:a.m,试在命令窗⼝输⼊a,观察结果,并解释原因。
三、思考练习1、help命令和lookfor命令有什么区别?2、什么是⼯作空间?假定有变量A与B存在于⼯作空间中,如何⽤命令保存这两个变量?下次重新进⼊MATLAB后,⼜如何装载这两个变量?实验⼆MATLAB数值计算⼀、实验⽬的1、掌握MATLAB变量和数据操作2、掌握MATLAB矩阵及其操作3、掌握MATLAB矩阵运算⼆、实验内容1、求下列表达⽰的值(1)6(10.3424510)w-=+?(2)22tan()b ca eabcxb c aππ++-+=++,其中a=3.5 ,b=5 ,c=-9.8(3)21ln(2tz e t=+,其中213[]50.65it-=-2、已知1540783617A--=??,831253320B-=??-??求下列表达式的值:(1)A+6B和2A B I-+(I为单位矩阵)(2)A*B、A.*B和B*A(3)A/B及B\A(4)[A,B] 和[A([1,3],:) ; B^2]3、建⽴⼀个均值为3,⽅差为1的10*10的正态分布随机矩阵,并将矩阵中⼤于0的元素置1,⼩于0的置0.4、当[34,,,,,,0]A NaN Inf Inf pi eps=--时,求函数all(A),any(A),isnan(A),isinf(A),isfinite(A)的值。
matlab实验三
3、方阵的行列式 求方阵的行列式的函数为det,其调用格式为det(A)
4、矩阵的特征值分解
MATLAB中,求方阵的特征值和特征向量的函数为eig,调 用格式如下: e=eig(A) 求方阵A的特征值组成的列向量e。
A) 求矩阵A的逆。要求矩阵A是方阵
且是非奇异的,如果A是病态的或接近奇异
1、矩阵的加(+)减(-)运算:
A±B
矩阵A和矩阵B的和与差,即矩阵相应位置
的元素相加、减。
进行加减运算的矩阵,要求维数相同,即行数
和列数分别相等,如果A与B大小不同,MATLAB将自
动给出错误信息。 A和B其中之一可以是标量,表示矩阵中的每个 元素分别与标量相加减,结果为矩阵。
9
矩阵的算术运算
18
线性方程组的求解
线性方程组 AX=b 的求解是用矩阵除来完成的.
当 m=n 且A可逆时, 给出唯一解,此时我们可用
A\b来求解;当XA=b 时,用A/b来求解 我们也可以利用命令rref来求解任意的线性方程组.
矩阵函数
1、矩阵的共轭
MATLAB中求矩阵的共轭矩阵的函数是conj,其调用
格式为:
(3)当A为标量,B为矩阵时,要求B为方阵。
A1 1 A B V * *V A n
其中V为方阵A的特征向量矩阵,
1 D n
为方阵A的特征值对角矩阵。
(4)A和B都是矩阵时,无定义。
16
5、矩阵的点幂运算:.^
实验三 矩阵运算与线性方程组求解
MATLAB的所有数值功能都是以(复)矩阵为基本 单元进行的,向量和标量都作为特殊的矩阵来处
《MATLAB仿真技术》实验指导书2016附问题详解
实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
实验五 matlab基础知识(简单)
本次实验注意:《实验五MALTAB基础知识(简单)》《实验五基于Matlab的信号频谱分析(复杂)》选作一个即可实验五MALTAB基础知识(一)实验目的 (2)(二)实验设备 (2)(三)实验要求 (2)(四)实验内容 (2)1.1 MATLAB基础知识 (2)1.1.1 MATLAB程序设计语言简介 (2)1.1.2 MA TLAB界面及帮助 (2)1.2 MA TLAB基本运算 (4)1.2.1 MA TLAB内部特殊变量和常数 (4)1.2.2 变量类型 (4)1.2.3 内存变量管理 (5)1.2.4 MA TLAB常用数学函数 (5)1.2.5 MA TLAB矩阵生成 (5)1.2.6 MA TLAB矩阵运算 (8)1.2.7 MA TLAB中的矩阵分析 (10)1.3 MA TLAB程序设计 (10)1.3.1 M文件 (10)1.3.2 程序控制结构 (12)实验五MALTAB基础知识(一)实验目的●了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力(二)实验设备计算机,Matlab软件(三)实验要求本实验属于验证实验,请根据(四)实验内容的步骤,运行相应的指令或例子,并将仿真结果截图至文档(请自己新建一个word文档,注意,并不一定所有指令或例子的实验结果都要截图,截图数目大于等于5个即可,自己选择性截图,答案不唯一,自由发挥)请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验五_学号_姓名”,并通过FTP上传至指定文件夹。
(四)实验内容1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MA TLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
matlab刘卫国附录实验3、4、5
实验三1. a=[-5 -3 1 2 2.5 3 5];for i=1:6x=a(1,i)if x<0&x~=3y=x^2+x-6elseif x>=0&x<5&x~=2&x~=3y=x^2-5*x+6else y=x^2-x-1endend2.用if语句编写grade=input('please input the grade which is between 0 and 100'); a=floor(grade/10);if a>=0&a<6disp('E')elseif a>=6&a<7disp('D')elseif a>=7&a<8disp('C')elseif a>=8&a<9disp('B')elseif a>=9&a<=10disp('A')else disp('error!')end用swich语句编写grade=input('please input the grade which is between 0 and 100'); if grade<0disp('error!')else switch fix(grade/10);case num2cell(0:5)disp('E')case{6}disp('D')case{7}disp('C')case{8}disp('B')case{9,10}disp('A')otherwisedisp('error!')endendif t>120y=84*120+(t-120)*84*1.15elseif t<60y=t*84-700else y=t*84end4. a=10+90*rand(1,2);a1=a(1)a2=a(2)b=fix(4*rand(1,1));if b(1)==0disp('运算法则为+')y=a1+a2elseif b(1)==1disp('运算法则为-')y=a1-a2elseif b(1)==2disp('运算法则为*')y=a1*a2else disp('运算法则为/')y=a1/a2end5. a=100*rand(5,6)n=input('please input the no. of the line');if n==1| n==2| n==3| n==4| n==5disp(a(n,:))else disp(a(5,:))disp('error!')end实验四1.用循环语句y=0;i=0;for i=1:n(1,j);y=y+1/(i^2);z=sqrt(6*y);enddisp('∏的值为:')zy=0;end用向量运算n=[100 1000 10000]for j=1:3i=1:n(1,j);f=1./(i.^2);y=sum(f);z=sqrt(6*y);disp('∏的值为:')zy=0;end2. n=1;y=0;while y<3y=y+1/n;n=n+2;endny-1/n3. a=input('please enter a')b=input('please enter b')x=1;n=0;while abs(x-a/(b+x))>0.00001if n<=500x=a/(b+x);n=n+1;endendxr=[(-b-sqrt(b^2+4*a))/2 (-b+sqrt(b^2+4*a))/2] s=r-x4. clcf(1)=1;f(2)=0;f(n)=f(n-1)-2*f(n-2)+f(n-3);enddisp(['maximum is ',num2str(max(f))])disp(['minimum is ',num2str(min(f))])disp(['sum is ',num2str(sum(f))])disp(['正数个数为',num2str(length(find(f>0)))])disp(['负数个数为',num2str(length(find(f<0)))])disp(['零的个数为',num2str(length(find(f==0)))])5. j=0;s=0;for n=2:50a=n*(n+1)-1;for k=2:aif rem(a,k)~=0continueendbreakendif k==aj=j+1;s=s+a;endendjs实验五1.function:function[e,l,s,c]=fushu(z)s=sin(z)c=cos(z)命令文件M:z=input('请输入复数');[e,l,s,c]=fushu(z)2.function:function x=qiujie(a,b)x=inv(a)*b%线性方程组求解命令文件M:clcm1=input('please enter the value of m1'); m2=input('please enter the value of m2'); ti=input('please enter the value of theta'); g=9.8;t=ti*pi/180;a=[m1*cos(t),-m1,-sin(t),0m1*sin(t),0,cos(t),00,m2,-sin(t),00,0,-cos(t),1];b=[0;m1*g;0;m2*g];x=qiujie(a,b);3. for m=10:99for k=2:mif rem(m,k)~=0continueendbreakendif k==ma=fix(m/10);b=m-10*a;n=10*b+a;for j=2:nif rem(n,j)~=0continueendbreakendif j==nmendend4. function:function f=fx(x)a=0.1+(x-2).^2;b=0.01+(x-3).^4;f=1./a+1./b;命令文件:clcx=input('输入矩阵x=')f=fx(x)5.①f(n)=n+10*log(n^2+5); y=f(40)/(f(30)+f(20))②for n=1:30g1(n)=n*(n+1);endf30=sum(g1)for n=1:20g2(n)=n*(n+1);endf20=sum(g2)for n=1:40g3(n)=n*(n+1);endf40=sum(g3)y=f40/(f20+f30)。
控制系统计算机仿真(matlab)实验五实验报告
实验五 控制系统计算机辅助设计一、实验目的学习借助MATLAB 软件进行控制系统计算机辅助设计的基本方法,具体包括超前校正器的设计,滞后校正器的设计、滞后-超前校正器的设计方法。
二、实验学时:4 学时 三、实验原理1、PID 控制器的设计PID 控制器的数学模型如公式(5-1)、(5-2)所示,它的三个特征参数是比例系数、积分时间常数(或积分系数)、微分时间常数(或微分系数),因此PID 控制器的设计就是确定PID 控制器的三个参数:比例系数、积分时间常数、微分时间常数。
Ziegler (齐格勒)和Nichols (尼克尔斯)于1942提出了PID 参数的经验整定公式。
其适用对象为带纯延迟的一节惯性环节,即:s e Ts Ks G τ-+=1)( 5-1式中,K 为比例系数、T 为惯性时间常数、τ为纯延迟时间常数。
在实际的工业过程中,大多数被控对象数学模型可近似为式(5-1)所示的带纯延迟的一阶惯性环节。
在获得被控对象的近似数学模型后,可通过时域或频域数据,根据表5-1所示的Ziegler-Nichols 经验整定公式计算PID 参数。
表控制器的参数。
假定某被控对象的单位阶跃响应如图5-4所示。
如果单位阶跃响应曲线看起来近似一条S 形曲线,则可用Ziegler-Nichols 经验整定公式,否则,该公式不适用。
由S 形曲线可获取被控对象数学模型(如公式5-1所示)的比例系数K 、时间常数T 、纯延迟时间τ。
通过表5-1所示的Ziegler-Nichols 经验整定公式进行整定。
如果被控对象不含有纯延迟环节,就不能够通过Ziegler-Nichols 时域整定公式进行PID 参数的整定,此时可求取被控对象的频域响应数据,通过表5-1 所示的Ziegler-Nichols 频域整定公式设计PID 参数。
如果被控对象含有纯延迟环节,可通过pade 命令将纯延迟环节近似为一个四阶传递函数模型,然后求取被控对象的频域响应数据,应用表5-1求取PID 控制器的参数。
MATLAB上机实验实验报告
MATLAB上机实验一一、实验目的初步熟悉 MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。
命令窗口二、实验内容(1) 熟悉MATLAB 平台的工作环境。
(2) 熟悉MATLAB 的5 个工作窗口。
(3) MATLAB 的优先搜索顺序。
三、实验步骤1. 熟悉MATLAB 的5 个基本窗口① Command Window (命令窗口)② Workspace (工作空间窗口)③ Command History (命令历史记录窗口)④ Current Directory (当前目录窗口)⑤ Help Window (帮助窗口)(1) 命令窗口(Command Window)。
在命令窗口中依次输入以下命令:>>x=1>> y=[1 2 34 5 67 8 9];>> z1=[1:10],z2=[1:2:5];>> w=linspace(1,10,10);>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)>> t4=ones(3),t4=eye(4)x =1z1 =1 2 3 4 5 6 7 8 9 10 t1 =1 1 11 1 11 1t2 =1 1 1t3 =111t4 =1 1 11 1 11 1 1t4 =1 0 0 00 1 0 00 0 1 00 0 0 1思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。
当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。
脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。
当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四MATLAB 程序设计
一、实验目的
掌握MATLAB 程序设计的主要方法,熟练编写MATLAB 函数。
二、实验内容
(1) M 文件的编辑。
(2) 程序流程控制结构。
(3) 子函数调用和参数传递。
(4) 局部变量和全局变量。
三、实验结果
练习:
(1) 请把exp2.m 函数文件用while 循环改写。
(2) 用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到最后一项的绝对值小于10-6
为止,试编写其M 脚本文件。
(1)解:
x=input('输入一个自然数:')
s=0
n=1
while n<=x
s=s+n
n=n+1
end
(2)解:
s=1;
k=1;
n=1;
while(k*(-1)^(n+1)>10^(-6))
k=k*(1-2*n)/(1+2*n);
s=s+k;
n=n+1;
end
pai=s*4
练习:(1) 编写求矩形面积函数rect,当没有输入参数时,显示提示信息;当只输入一个参数时,则以该参数作为正方形的边长计算其面积;当有两个参数时,则以这两个参
数为长和宽计算其面积。
(2) 编写一个字符串加密函数nch=my_code( ch , x),其中ch 是字符串参数,x 为整
数;加密方法是:把ch 的每一个字符的ASCII 码值加上x,得到的即为加密后的新
的字符串nch。
由于可显示ASCII 码值是有范围的(32,126),因此当得到的ASCII码值大于126 时,需要减去93 。
同理,再编写一个解码函数nch=my_dcode( ch , x)。
提示:char(32:126) 可获得ASCII 码值为32~126 的字符。
7
(1)
解:
function s=rect(a,b)
switch(nargin)
case 0
error('请输入一个或两个数');
case 1
s=a*a;
case 2
s=a*b;
end
(2)
加密:
function nch=my_code(ch,x)
nch=ch+x;
if nch>126
nch=nch-93;
char(nch)
else
char(nch)
end
解码:
function nch=my_code(ch,x)
nch=ch-x;
if nch<32
nch=nch+93;
char(nch)
else
char(nch)
end
实验五MATLAB 数据可视化
一、实验目的
掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。
二、实验内容
(1) 二维图形绘制。
(2) 三维曲线和三维曲面绘制。
(3) 图像文件的读取和显示。
三、实验结果
练习:
写出图A2 的绘制方法。
提示:按照以下的步骤进行(1)产生曲线的数据(共有3 组数据);(2)选择合适的线形、标记、颜色(正弦曲线为红色,余弦曲线为紫色);(3)添加图例及文字说明信息;(4)添加坐
标轴说明与图标题。
解:
x=linspace(0,4*pi,100)
y1=sin(x)
y2=cos(x)
y3=0
plot(x,y1,'r:',x,y2,'m',x,y3,'-')
xlabel('时间')
ylabel('幅值')
legend('sinx','cosx')
gtext('\leftarrowsinx')
gtext('\leftarrowcosx')
axis([0 16 -1 1])
练习:利用子图函数,绘制以上的空间螺旋线的俯视图、左侧视图和前视图。
解:
z=0:0.1:6*pi
x=cos(z)
y=sin(z)
plot3(x,y,z)
>>view(0,90)%俯视图
>>view(0,0)%左侧视图
>>view(90,0)%前视图
练习:
考虑以下问题:设z = x2e−( x2 + y2 ) ,求定义域 x=[-2,2],y=[-2,2]内的 z 值(网格取 0.1)。
请把z 的值用网面图形象地表示出来,如图A3 所示。
解:
x=-2:0.1:2;
y=-2:0.1:2;
[X,Y]=meshgrid(x,y);
Z=X.^2.*exp(-(X.^2+Y.^2));
mesh(X,Y,Z)
实验六SIMULINK 仿真集成环境
一、实验目的
熟悉SIMULINK 的模型窗口、熟练掌握SIMULINK 模型的创建,熟练掌握常用模块
的操作及其连接。
二、实验内容
(1) SIMULINK 模型的创建和运行。
(2) 一阶系统仿真。