南华大学MATLAB实验报告1
matlab实验报告(实验1)
开课学院及实验室:机电学院 2012年11 月16日
(2)在E盘新建一个文件夹并把其加入搜索路径。
截屏相关过程结果并保存。
(3)逐步按照以下步骤进行并记录各个步骤的结果:
1)在指令窗中输入clear指令;
5)再次在指令窗中输入clear指令后,输入
8)把cow.m暂时移动到另一个无关的文件夹,如“我的文档”。
(2)保存全部变量为数据文件Mydata.mat;在对应文件夹中找到该文件,截屏后保存结果;
(4)删除全部内存变量;
Editor/Debugger和脚本编写初步
把以下指令编写为M脚本文件,并运行:
t=0:pi/50:4*pi;
y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
什么?此方法也是查询函数注释的有效方法,请牢记。
MATLAB实验报告(打印版)
MATLAB实验报告班别:09电气3班姓名:李嘉明学号:200924122301实验一/二 MATLAB的基础操作3.自定义一个变量,然后分别用8种不同的数字显示格式显示查看。
>> a=[1.1,1.2,1.3;1.4,1.5,1.6;1.7,1.8,1.9]a =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.9000>> format long>> aa =1.100000000000000 1.200000000000000 1.3000000000000001.400000000000000 1.500000000000000 1.6000000000000001.700000000000000 1.800000000000000 1.900000000000000>> format short e>> aa =1.1000e+000 1.2000e+000 1.3000e+0001.4000e+000 1.5000e+000 1.6000e+0001.7000e+000 1.8000e+000 1.9000e+000>> format long e>> aa =1.100000000000000e+000 1.200000000000000e+000 1.300000000000000e+0001.400000000000000e+000 1.500000000000000e+000 1.600000000000000e+0001.700000000000000e+000 1.800000000000000e+000 1.900000000000000e+000 >> format hex>> aa =3ff199999999999a 3ff3333333333333 3ff4cccccccccccd3ff6666666666666 3ff8000000000000 3ff999999999999a3ffb333333333333 3ffccccccccccccd 3ffe666666666666>> format +>> aa =+++++++++>> format rat>> aa =11/10 6/5 13/107/5 3/2 8/517/10 9/5 19/10>> format short>> aa =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.90005、己举例比较给矩阵的全行赋值,取出矩阵中某一个或几个元素,然后组成一个新的矩阵。
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 软件的安装与基本使用一、实验目的和要求:学会MA TLAB 软件的安装方法,熟悉MA TLAB 的工作环境及其基本功能的设置,以及基本指令的使用,了解MA TLAB 数值数组及其矩阵操作的使用、复数的输入方法。
二、实验内容和步骤:1、完成MA TLAB 软件的安装。
2、安装完成后启动MA TLAB 软件,熟悉MA TLAB 的工作环境。
打开MA TLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace);(4)当前路径窗口(Current Directory)此外,还有捷径键、编译窗口、图形窗口和帮助窗口等其他种类的窗口,结合课本实例,熟悉每个窗口的功能和基本使用。
3、(1)求23)]47(212[÷-⨯+的运算结果,注意命令后有无分号的作用。
命令及结果如下:t=[12+2*(7-4)]/3^2t = 2(2)求20012x x v t at =++的值,其中t=5s 、010x m =、015/v m s =、29.81/sec a m =-。
命令及结果如下:syms t x0 v0 a; t=5,x0=10,v0=15,a=-9.18; x=x0+v0*t+1/2*a*t^2 t = 5 x0 = 10 v0 = 15 x = -29.7500(3) 设3x =, 4v =,用MA TLAB 命令求下列各式的值:1)22log()x v + 命令及结果如下:syms x v x=3,v=4; log(x^2+v^2)x = 3 ans =3.21892)2(2)x v - 命令及结果如下:syms x vx=3,v=4;f=(sqrt(x-3))/(x-2*v)^2 x = 3 f = 0 3) |sin 2|vx e命令及结果如下: syms x v x=3,v=4;t=abs(2*x)*exp(v) x = 3t = 327.58894、用三种不同的方法输入矩阵1234246836912a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,运行并观察实验结果,矩阵的三种基本输入方法如下:a=[1,2,3,4;3,4,6,8;3,6,9,12] a =1 2 3 4 3 4 6 8 3 6 9 12>> a=[1,2,3,43,4,6,8 3,6,9,12]a =1 2 3 4 3 4 6 8 3 6 9 12>> >>利用M 文件创建 1 2 3 4 3 4 6 8 3 6 9125、输入复数矩阵⎥⎦⎤⎢⎣⎡-+++=i ii i24356223B ,并求其实部、虚部、模和幅角(分别用弧度和角度表示),了解MA TLAB 向量化运算的特点。
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实验报告
MATLAB实验报告MATLAB实验报告姓名:专业:学号:实验⼀MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。
2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。
MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2MATLAB算术运算符表3MATLAB关系运算符表4MATLAB逻辑运算符表5MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8标准数组⽣成函数表9数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使⽤help命令,例如在命令窗⼝输⼊helpeye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。
注意:每⼀次M-file的修改后,都要存盘。
四、实验结果练习A:(1)helprand,然后随机⽣成⼀个2×6的数组,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
matlab实验报告
(2)将上述信号左平移或右平移 得到两个新信号y2和y3,利用hold命令在同一图中显示三条曲线并通过线型和颜色加以区分。
(3)利用subplot命令将y,y2和y3以子图的形式显示。
3.
实验结果及分析
1.(1)
t1 =
0.0780
实验结果及分析
(2)
t2 =
0.0780
实验结果及分析
(3)
t3 =
0
实验结果及分析
2.
实验
名称
实验四Matlab在通信系统中的应用
实验目的
1、练习通信原理中各种调制方法及简单通信系统的Matlab编程实现;
2、学习Matlab与Simulink的混合编程。
(2)y变成虚数后,重复上述运算。
(3)创建矩阵 ,并进行如下操作,取出矩阵A的前两行元素,生成一个新矩阵B。生成一个3*3的单位矩阵B,与矩阵A进行加、减、乘、除、相等、不相等运算。
(4)随机生成2个复数x1和x2,计算x3=x1÷x2,x3的实部real_x3、虚部image_x3、模abs_x3、幅角angle_x3,并把x1,x2,x3,real_x3,image_x3,abs_x3,angle_x3保存至文件complex_学号.mat。利用save命令保存数据为mat格式文件后,用clear命令清除工作空间中的变量,再利用load命令从文件读入数据。
2、流程控制语句相关操作。
(1)使用for语句及while语句求解1至100整数中奇数的和。
(2)求连续自然数的和,当和大于等于1000时,求最后一个自然数以及自然数的和。
matlab实验报告总结
matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t), x(0)=0, y(0)=b的解是x-y 平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。
(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1. Euler法2. 梯形法3. 4阶RK法4. 多步法Adams公式【实验过程】1. Euler法具体的代码如下:clear;a=2;b=1;A=[0 a; -b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5; u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1, 2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2. 梯形法具体的代码如下:clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下 3. 4阶RK法clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;for i=1:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i); k2=A*(u(:,i)+h/2*k2); k3=A*(u(:,i)+h*k3); k4=A*(u(:,i)+h*k3); u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1 ;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4. 多步法Adams公式clear;a=2;b=1;A=[0 a; -b 0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;u(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:, 1)); delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.5 delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5for i=4:n delta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37 *u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;sub plot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。
实验一MATLAB操作基础实验报告
闽 江 学 院 电 子 系 实 验 报 告学生姓名:班级:学 号:课程:MATLAB 程序设计一、 实验题目:MATLAB 操作基础 二、 实验地点:实验楼A210 实验目的:1、熟悉MATLAB 的操作环境及基本操作方法。
2、掌握MATLAB 的搜索路径及其设置方法。
3、熟悉MATLAB 帮助信息的查阅方法。
三、 实验内容:1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB 搜索路径下,再试验用help 命令能否查询到自己的工作目录。
2、在MATLAB 环境下验证例1-1至1-4,并完成以下题目: (1)绘制右图所示图形 (2)求383、利用MATLAB 的帮助功能分别查询inv ,plot 、max 、round 等函数的功能及用法。
4、在工作空间建立一个变量a ,同时在当前目录下建立一个M 文件:a.m ,试在命令窗口输入a ,观察结果,并解释原因。
四、 实验环境(使用的软硬件): MATLAB 7.0 五、 实验结果:实验程序: (1)求38。
程序: x=8;plot(x, x^(1/3));0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81得到的结果: ans= 2(2)绘制图像 程序:x=[0:0.001:1];plot(x, sin(2*pi*x),x, 2*x-1,x,0); 得到结果如下图:(3)查询plot 、inv 、round 、max 等函数的功能及用法 分别输入:输入:help plot 得到:PLOT Linear plot.PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(Y) disconnected points are plotted.PLOT(Y) plots the columns of Y versus their index.If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored.Various line types, plot symbols and colors may be obtained with0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81PLOT(X,Y,S) where S is a character string made from one elementfrom any or all the following 3 columns:b blue . point - solidg green o circle : dottedr red x x-mark -. dashdot c cyan + plus -- dashed m magenta * stary yellow s squarek black d diamondv triangle (down)^ triangle (up)< triangle (left)> triangle (right)p pentagramh hexagramFor example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line.PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings.For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points.The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. The default ColorOrder is listed in the table above for color systems where the default is blue for one line, and for multiple lines, to cyclethrough the first six colors in the table. For monochrome systems, PLOT cycles over the axes LineStyleOrder property.PLOT returns a column vector of handles to LINE objects, onehandle per line.The X,Y pairs, or X,Y,S triples, can be followed byparameteralue pairs to specify additional propertiesof the lines.输入:help inv得到:INV Matrix inverse.INV(X) is the inverse of the square matrix X.A warning message is printed if X is badly scaled ornearly singular.输入:help round得到:ROUND Round towards nearest integer.ROUND(X) rounds the elements of X to the nearest integers.输入:help max得到:MAX Largest component.For vectors, MAX(X) is the largest element in X. For matrices,MAX(X) is a row vector containing the maximum element from eachcolumn. For N-D arrays, MAX(X) operates along the firstnon-singleton dimension.[Y,I] = MAX(X) returns the indices of the maximum values in vector I. If the values along the first non-singleton dimension contain morethan one maximal element, the index of the first one is returned.MAX(X,Y) returns an array the same size as X and Y with thelargest elements taken from X or Y. Either one can be a scalar.[Y,I] = MAX(X,[],DIM) operates along the dimension DIM.When complex, the magnitude MAX(ABS(X)) is used, and the angleANGLE(X) is ignored. NaN's are ignored when computing the maximum.Example: If X = [2 8 4 then max(X,[],1) is [7 8 9],7 3 9]max(X,[],2) is [8 and max(X,5) is [5 8 59], 7 5 9].inv 求矩阵的逆plot 画图max 求最大值round 向0取整六、思考练习:1、help命令和look for命令有什么区别?lookfor 关键词在所有M文件中找“关键词”,比如:lookfor inv(即寻找关键词“inv”)其实就和我们平时用CTRL+F来查找“关键词”是一样的而help是显示matlab内置的帮助信息用法:help 命令,比如 help inv ,作用就是调用inv这个命令的帮助2、什么是工作空间?假定有变量A与B存在于工作空间中,如何用命令保存这两个变量?下次重新进入MATLAB后,又如何装载这两个变量?①工作空间:工作空间是由系统所提供的特殊变量和用户自己使用过程生成的所有变量组成的一个概念上的空间;②保存变量:保存当前工作空间,比如要保存的路径为f:\matlab\work\matlab.mat,输入命令:save f:\matlab\work\matlab.mat ;③载入变量:输入命令:load f:\matlab\work\matlab.mat 。
matlab实验报告(实验1)
学生实验报告开课学院及实验室:机电学院 2012年11 月16日名、大小、字节数;(5)内存数组编辑器Array Editor:在工作空间浏览器中对变量进行操作时启动(6)开始按钮(7)交互界面分类目录窗Launch Pad:以可展开的树状结构列着MATLAB提供的所有交互界面(8) M文件编辑/调试器(9)帮助导航/浏览器2、MATLAB指令窗的基本操作MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。
本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的:(1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致;(2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。
实际上,矩阵是MATLAB工作的基本元素。
(3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示;(4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点:a、变量名、函数名对字母大小写敏感b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。
因此,凡是显示在Workspace Browser中的变量都是“有效”的,其后可以被调用,否则不能被调用。
d、对于像等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。
e、复数和复数矩阵的表示方法。
(5)其他操作的操作要旨和操作技巧的运用。
3、计算结果的图形表示(2)使用clear指令清除当前所有内存变量,使用clc清除指令窗的显示结果。
(3)指令窗显示方式的操作a、在指令窗中输入if(或for、while)等关键词,观察其颜色;蓝色c、在指令窗中输入s='hello',观察其颜色紫色c、指令行中的标点符号:运行指令x=3+2,分别在最后加上和不加上分号,观察并记录其结果的区别。
Matlab实验报告(1)
《Matlab语言与应用》课程实验报告*名:**班级:电信114学号:************指导老师:***二〇一三年十一月二十一日Matlab实验报告实验一一、实验问题求[12 + sin(2)×( 22 −4)]÷3^2的算术运算结果。
二、问题的分析该题主要熟悉Matlab环境下的对数学运算的熟悉,如何输入数据、建立函数输出结果。
三、上机实验结果如图四、实验的总结与体会通过本次实验,我学会了用Matlab来计算数学运算中的复杂技术。
我们也可以自己编写一个可以调用的函数,首先我们要了解Matlab语言函数的基本结构,结构如下:Function [返回变量列表]=函数名(输入变量列表)注释说明语句段,由%引导输入、返回变量格式的检测函数体语句例如:输入变量为k,返回的变量为m和s,其中s为前m项的和Function [m,s]=findsum(k)s=0;m=0;while(s<=k),m=m+1;s=s+m;end编写了函数,就可以将其存为findsum.m文件,这样就可以在Matlab环境中对不同的k值调用该函数了。
这样就可以灵活的实现我们想要的数据。
实验二一、实验问题二、问题分析输入矩阵时,空格或逗号表示间隔,分号表示换行,比如上面的矩阵A应写为A=[1,2,3;4,5,6;7,8,9]三、上机实验结果如图四、实验的总结与体会通过对本次上机实验了解到在Matlab中对矩阵的代数运算矩阵转置、矩阵的加减法运算、矩阵乘法、矩阵的左、右除、矩阵翻转、矩阵乘方运算、点运算等。
实验三一、实验要求画图,理解plot函数用法二、代码如下clear; clf;t=0:pi/20:2*pi;R=5;x=R*sin(t); y=R*cos(t);plot(x,y,'b:'), gridhold onrrr=[x;y;x+y];plot(rrr(1,:),'.','MarkerSize',10,'Color','r')plot(rrr(2,:),rrr(3,:),'o','MarkerSize',15,'Color','b'); axis([-8,20,-8,8]), % axis squarehold off三、Matlab运行结果如图实验四一、实验要求二、代码如下t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b') Grid三、Matlab运行结果如图实验五一、实验要求傅里叶频谱分析二、代码及分析(1)首先生成数据,包含50Hz和120Hz频率的正弦波x >>t = 0:.001:.25;>>x = sin(2*pi*50*t) + sin(2*pi*120*t);(2)再生成噪音信号yy = x + 2*randn(size(t));plot(y(1:50))title('Noisy time domain signal')(3)对y进行快速傅里叶变换Y = fft(y,256);(4)计算功率谱Pyy = Y.*conj(Y)/256;f = 1000/256*(0:127);plot(f,Pyy(1:128))title('Power spectral density')xlabel('Frequency (Hz)')(5)只查看200Hz以下频率段plot(f(1:50),Pyy(1:50))title('Power spectral density')xlabel('Frequency (Hz)')三、上机结果如下图实验六一、实验要求FIR数字滤波器设计代码如下clear;close allf=[0,0.6,0.6,1]; m=[0,0,1,1]; % 设定预期幅频响应b=fir2(30,f,m); n=0:30; % 设计FIR 数字滤波器系数subplot(3,2,1),stem(n,b,'.')xlabel('n'); ylabel('h(n)');axis([0,30,-0.4,0.5]),line([0,30],[0,0])[h,w]=freqz(b,1,256);subplot(3,2,2),plot(w/pi,20*log10(abs(h)));gridaxis([0,1,-80,0]),xlabel('w/pi'); ylabel('幅度(dB)');二、上级结果如图实验七二、实验要求用guide实验一个简单的加减乘除计算器二、实验步骤在命令行输入guide命令,进入guide界面新建一个空白guide文件在空白文件中设置好功能模块如图模块建立好后,就要把编写好的加减乘除代码加入到各自的回调函数中,见下图两个被加数代码如下图加模块代码如下图减模块代码如下图乘模块代码如下图除模块代码如下图各模块的回调函数加完后就可以运行了,运行结果如下图总结:Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
matlab实验心得总结(5篇范例)
matlab实验心得总结(5篇范例)第一篇:matlab实验心得总结通过《matlab仿真》实验使我学习掌握了许多知识。
首先是对matlab有了一个全新的认识,其次是对matlab的更多操作和命令的使用有了更高的掌握,最重要的事对matlab的处理能力有了一个更高的飞跃尤其是对相关函数的使用及相关问题的处理。
就对matlab相关的命令操作而言,通过这次实验的亲身操作和实践,学习掌握了许多原本不知道的或者不太熟悉的命令。
比如说相关m文件的建立,画图用到的标注,配色,坐标控制,同一张图里画几幅不同的图像,相关参数的设置以及相关函数的调用格式等等。
就拿建立一个数学方程而言,通过设置不同的参数达到所需要的要求和结果,而且还可以在不同的窗口建立不同的函数而达到相同的效果,比如说可以再命令窗口和m文件中通过不同的命令设置的到相同的所需的效果图。
而自己对于矩阵及闭环传递函数的建立原本所掌握的知识几乎为零,而通过这次实验使我彻底的掌握了相关的命令操作和处理的方法,在这里我们不仅可以通过建立函数和参数来达到目标效果,而且还可以通过可视化的编程达到更快更方便,更简洁的效果。
就拿可视化编程而言原本根本就只是听说而已罢了,从来就没有亲身去尝试过,然而现在自己却可以和容易的通过搭建不同功能木块来实现相关的函数及功能。
这些在原本根本就不敢相信,然而通过《matlab仿真》的学习和实验亲身操作这些原本看似不可能的操作在此就变的轻而易举的事了。
再此我不得不题到的事指导老师教我们怎么去搭建构造相关闭环传递函数的实验,这个实验几乎在我们的这次实验中占据了非常大的比重,在后面的几个大一点的实验中几乎都是涉及这个方面的内容,我现在想说的事怎么去搭建相关的函数和功能模块对我们来说几乎已经不是什么难事了,就拿怎么去对模块功能的实现以及分析确实是个重点和难点。
通过对同一个模块分析其对应的不同的参数分析图的建立去分析和解释其对应的相关功能和技术指标和性能分析是非常重要的,我们不可能只需要建立相关的模块和功能就说自己掌握了所有的相关知识和技术,真正的技术和知识是怎么去分析和解释相关的技术指标和功能参数才是重中之重。
MATLAB实验报告
MATLAB实验报告专业班级学号姓名实验一Matlab环境及命令窗口的使用实验目的与要求:熟练掌握MA TLAB的启动和退出;熟悉MATLAB的命令窗口;熟悉常用选单和工具栏;熟悉MA TLAB桌面的其它窗口。
实验内容:启动MATLAB,熟悉各环境窗口及作用,熟悉file、edit、View等菜单下各选项的功能;熟悉工具栏中各项的功能;打开演示程序(demo),开始其中的演示程序;退出MA TLAB(exit、quit)。
在命令窗口中,输入简单的命令操作;打开函数编辑窗,编写简单的程序并保存;程序:>> x1=sqrt(100),x2=5.48,y=9/x2x1 =10x2 =5.4800y =1.6423>>demo演示框左侧是库目录,选定demo下的图形类(Graphics)按钮,双击演示框右边的栏里的function of complex variable选项,就会出现如图中的演示框。
此例为复数Z的三次方:Z^3。
实验二Matlab数值计算实验目的与要求:熟练掌握matlab变量的使用;熟练掌握矩阵的创建;熟悉掌握matlab 的矩阵和数组的运算;熟悉matlab多项式的运算。
实验内容:给2×3阶矩阵变量a赋值(注意逗号与分号的使用),取其第2行第2个元素,取其第2行元素,取其第1列和第3列的元素;计算a/3、5*a、a+2等的值;程序:>> a=[7,9,5;5,9,4]a =7 9 55 9 4>> a=[7,9,5;5 9 4]a =7 9 55 9 4>> b=a([2],[2])b =9>> c=a([2],:)c =5 9 4>> d=a(:,[1,3])d =7 55 4>> e=a/3e =2.33333.0000 1.66671.6667 3.0000 1.3333>> 5*aans =35 45 2525 45 20>> a+2ans =9 11 77 11 62、生成2×3阶的全1矩阵x和3×3魔方矩阵y,计算a+x,x*y,x/y,y^2,2^a;a.*x, a.\x,y.^2,2.^a 的值。
MATLAB基本操作实验报告1
3. 通过即时输入 10 个数,将其中大于 10 的数求和,并计算其和的开方。 (注:程序运行中即时输入数据,用 input()函数即可实现。)
四、实验结论及总结
实验四:MATLAB 可视化
学生姓名: 实验时间: 一、实验目的
实验类型: 实验地点:
通过本实验使学生了解 MATLAB 强大的绘图功能,掌握 plot 函数绘制二维 图形的方法,掌握三维曲线和曲面的绘制办法,并能够熟悉常用的图形修饰、 控制命令。
二、实验设备及环境
计算机、WINDOWS XP 操作系统、MATLAB2012a
三、实验内容及程序
1. 利用函数 plot 在一个坐标系中画以下几个函数图像,要求采用不同颜 色、不同线形、不同的符号标记并给出图例.函数为:
x sin(t), y cos(t), z sin(2t), t (0, 2 ) .
程序:
A=[2 4 5 7 6 1 9] A=
2457619 1)
A(6) ans =
1 2)
A([1 3 5]) ans =
256 3)
A(4:end) ans =
7619 4)
for i=1:7 if A(i)>3
A(i) end end ans =
4
ans =
5
ans =
7
ans =
6
ans =
B=
1101 1110
L1 =
6.2945 8.1158 -7.4603 8.2675 -8.0492 -4.4300
四、实验结论及总结
实验三:MATLAB 程序设计
学生姓名: 实验时间: 一、实验目的
实验类型:验证性 实验地点:
(完整word)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=(x1)/(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/2 3.两个函数之间的操作求和(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实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab实验一实验报告
matlab实验一实验报告实验一:Matlab实验报告引言:Matlab是一种强大的数学软件工具,广泛应用于科学计算、数据分析和工程设计等领域。
本实验旨在通过使用Matlab解决实际问题,探索其功能和应用。
一、实验目的本次实验的主要目的是熟悉Matlab的基本操作和常用函数,了解其在科学计算中的应用。
二、实验内容1. 数值计算在Matlab中,我们可以进行各种数值计算,包括基本的加减乘除运算,以及更复杂的矩阵运算和方程求解。
通过编写相应的代码,我们可以实现这些功能。
例如,我们可以使用Matlab计算两个矩阵的乘积,并输出结果。
代码如下:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;disp(C);```2. 数据可视化Matlab还提供了强大的数据可视化功能,可以将数据以图表的形式展示出来,更直观地观察数据的规律和趋势。
例如,我们可以使用Matlab绘制一个简单的折线图,来展示某个物体在不同时间下的位置变化。
代码如下:```matlabt = 0:0.1:10;x = sin(t);plot(t, x);xlabel('Time');ylabel('Position');title('Position vs. Time');```3. 图像处理Matlab还可以进行图像处理,包括图像的读取、处理和保存等操作。
我们可以通过Matlab对图像进行增强、滤波、分割等处理,以及进行图像的压缩和重建。
例如,我们可以使用Matlab读取一张图片,并对其进行灰度化处理。
代码如下:```matlabimg = imread('image.jpg');gray_img = rgb2gray(img);imshow(gray_img);```三、实验结果与分析在本次实验中,我们成功完成了数值计算、数据可视化和图像处理等任务。
MATLAB实验报告1.doc
系统仿真与MATLAB实验报告实验一:MATLAB基本操作一、实验目的:1、学习并撑握MA TLAB语言的基本操作方法;2、撑握命令窗口的使用;3、熟悉MATLAB的数据表示、基本运算和程序控制语句;4、熟悉MATLAB程序设计的基本方法。
二、实验编程与测试1.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B程序:>> A=[1 2;3 4];B=[5 5;7 8];>> C=(A^2)*BC =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];>> C1=A/BC1 =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000>> C2=A\BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.(Type "warning off MATLAB:nearlySingularMatrix" to suppress this warning.)C2 =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511(3)矩阵的转置及共轭转置已知A=[15+i, 2-i ,1;6*i,4,9-i];求A.’,A’程序:>> A=[15+i,2-i,1;6*i,4,9-i];>> B1=A.'B1 =15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000i>> B2=A'B2 =15.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行的元素;程序:>> A=[1 2 3;4 5 6;7 8 9];>> B1=A(1:2,3)B1 =36>> B2=A(2,1:3)B2 =4 5 6(5)方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列A =16 2 3 135 11 10 89 7 6 124 14 15 1>> A(:,4)=[]A =16 2 35 11 109 7 64 14 152.多项式(1)求多项式的根程序:>> p=[1 0 -2 -4];>> roots(p)ans =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的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;程序:>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4];>> b=poly(A)b =1.0000 -6.9000 -77.2600 -86.1300 604.5500>> c=polyval(b,20)c =7.2778e+004y=polyval(b,A)y =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.1617>> z=polyvalm(b,A)z =1.0e-010 *-0.0591 -0.0913 -0.0712 -0.0662-0.0909 -0.1273 -0.1065 -0.1023-0.0843 -0.1171 -0.0909 -0.0878-0.0523 -0.0777 -0.0621 -0.06033.基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的n值;程序:>> clears=s+i;i=i+1;end>> i=i-1i =63(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。
南华大学MATLAB实验报告1
核科学技术学院实验报告实验项目名称MATLAB数值计算所属课程名称MATLAB及应用实验类型上机实验实验日期指导教师班级学号姓名成绩一、实验名称MATLAB数值计算二、实验目的(1)掌握MATLAB变量的使用(2)掌握MATLAB数组的创建(3)掌握MATLAB数组和矩阵的运算(4)熟悉MATLAB多项式的运用三、实验原理1. 矩阵分析矩阵转置:单引号(’)矩阵的旋转:rot90(A,k),功能是将矩阵A逆时针旋转90度的k倍,缺省值是1矩阵的左右翻转:fliplr(A)矩阵的上下翻转:flipud(A)矩阵的逆:inv(A),与A^(-1)等价矩阵的行列式:det(A)矩阵的秩:rank(A)矩阵的迹:trace(A)将矩阵化为最简式:rref(A)矩阵的特征值与特征向量:(1) E = eig(A);矩阵A的所有特征值构成向量E;(2) [V,D]=eig(A);A的所有特征值构成对角阵D,A的特征向量构成V的列向量;2. 多项式多项式的建立:若多的项的全部根构成的向量为X,则以X为根的多项式为poly(X)多项式的根:roots(p)计算以向量p为系数的多项式的根,包括重根,复根多项式求值:polyval(p,x),p是多项式的系数,x可以是一个数也可以是一个矩阵多项式求拟合次数:polyfit(x,y,n),x可以是一个数也可以是一个矩阵,y 是x对应的数或矩阵多项式的四则运算:(1)P1+P2;(2)P1-P2;(3)conv(P1,P2), (4)deconv(P1,P2)四、实验内容1. 已知矩阵11 12 13 1421 22 23 24A= 31 32 33 3441 42 43 44(1) 如何输出A的第1列?(2) 如何输出A的第2行?(3) 如何输出A的第2列和第3列?(4) 要得到22233233⎛⎫⎪⎝⎭,怎么办?(5) 如何输出A的第1列和第3列?(6) 如何将21和31按一列输出?(7) 如何将A所有元素按从最左列至最右列新排列为一列输出?(8) 如何将A原阵输出?(9) 如何输出2阶全1阵?(10) 如何输出2阶单位阵?(11) 试用分块矩阵的方法生成阵11 12 13 14 1 121 22 23 24 1 131 32 33 34 1 041 42 43 44 0 1(12) 求A的主对角线(13) 求除去A阵第1列后新阵的主对角线(14) 求除去A阵第1行后新阵的主对角线(15) 求除去A 阵从左到右前2列后新阵的主对角线(16) 要分别单独输出A 阵元素11、22、33、44,怎么办?(17) 如何将11、31、12、32、13、33、14、34按顺序一行输出?2. 已知 2354127354217623A -⎡⎤⎢⎥--⎢⎥=⎢⎥-⎢⎥--⎣⎦.求(1)A 的逆;(2)A 的行列式;(3)A 的迹; (4)A 的所有特征向量和特征值。
Matlab实验报告终极版解析
实验一 Matlab的基本操作一、验证所有例题内容例1.1:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]Time = 11 12 1 2 3 4 5 6 7 8 9 10 >> X_Data = [2.32 3.43;4.37 5.98]X_Data = 2.3200 3.43004.37005.9800例1.2:>> g = [1 2 3 4];h = [4 3 2 1];>> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^hs1 = 5 5 5 5s2 = 4 6 6 4s3 = 1 8 9 4s4 = 1 4 9 16s5 = 16 8 4 2例1.3:>> A= [2 0 -1;1 3 2]; B=[1 7 -1;4 2 3;2 0 1];>> M = A*BM = 0 14 -317 13 10>>det_B = det(B)det_B = 20>> rank_A = rank(A)rank_A = 2>> inv_B = inv(B)inv_B = 0.1000 -0.3500 1.15000.1000 0.1500 -0.3500-0.2000 0.7000 -1.3000>> [V,D] = eig(B)V = -0.7094 + 0.0000i 0.7444 + 0.0000i 0.7444 + 0.0000i-0.6675 + 0.0000i -0.3599 + 0.0218i -0.3599 - 0.0218i-0.2263 + 0.0000i -0.5587 - 0.0607i -0.5587 + 0.0607iD = 7.2680 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i0.0000 + 0.0000i -1.6340 + 0.2861i 0.0000 + 0.0000i0.0000 + 0.0000i 0.0000 + 0.0000i -1.6340 - 0.2861i>> X = A/BX = 0.4000 -1.4000 3.60000 1.5000 -2.5000>> Y = B\A'Y = -0.9500 1.35000.5500 -0.15000.9000 -0.70003、输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:答:A(2, 3) %矩阵A第二行第三列的元素A(:,2) %矩阵A第二列的数据A(3,:) %矩阵A第二行的数据A(:,1:2:3) %矩阵A第一列和第三列的数据A(:,3).*B(:,2) %矩阵A的第三列和矩阵B的第二列点乘A(:,3)*B(2,:) %矩阵A 的第三列和矩阵B的第二行相乘A*B %矩阵A和矩阵B相乘A.*B %矩阵A和矩阵B点乘A^2 %矩阵A的乘方A.^2 %矩阵A的点乘方B/A %矩阵B右除矩阵AB./A %矩阵B点除矩阵A>> A=[7 1 5;2 5 6;3 1 5];B=[1 1 1; 2 2 2; 3 3 3];>> A(2, 3)ans = 6>> A(:,2)ans = 151>> A(3,:)ans = 3 1 5>> A(:,1:2:3)ans = 7 52 63 5>> A(:,3).*B(:,2)ans = 51215>> A(:,3)*B(2,:)ans = 10 10 1012 12 1210 10 10>> A*Bans = 24 24 2430 30 3020 20 20>> A.*Bans = 7 1 54 10 129 3 15>> A^2ans = 66 17 66 42 33 70 38 13 46 >> A.^2ans = 49 1 25 4 25 36 9 1 25 >> B/Aans = 0.1842 0.2105 -0.2368 0.3684 0.4211 -0.4737 0.5526 0.6316 -0.7105 >> B./Aans = 0.1429 1.0000 0.2000 1.0000 0.4000 0.3333 1.0000 3.0000 0.60004、输入C=1:2:20,则C (i )表示什么?其中i=1,2,3,…,10; 答:>> C=1:2:20C = 1 3 5 7 9 11 13 15 17 19 >> C(i)下标索引必须为正整数类型或逻辑类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
核科学技术学院实验报告实验项目名称MATLAB数值计算所属课程名称MATLAB及应用实验类型上机实验实验日期指导教师班级学号姓名成绩一、实验名称MATLAB数值计算二、实验目的(1)掌握MATLAB变量的使用(2)掌握MATLAB数组的创建(3)掌握MATLAB数组和矩阵的运算(4)熟悉MATLAB多项式的运用三、实验原理1. 矩阵分析矩阵转置:单引号(’)矩阵的旋转:rot90(A,k),功能是将矩阵A逆时针旋转90度的k倍,缺省值是1矩阵的左右翻转:fliplr(A)矩阵的上下翻转:flipud(A)矩阵的逆:inv(A),与A^(-1)等价矩阵的行列式:det(A)矩阵的秩:rank(A)矩阵的迹:trace(A)将矩阵化为最简式:rref(A)矩阵的特征值与特征向量:(1) E = eig(A);矩阵A的所有特征值构成向量E;(2) [V,D]=eig(A);A的所有特征值构成对角阵D,A的特征向量构成V的列向量;2. 多项式多项式的建立:若多的项的全部根构成的向量为X,则以X为根的多项式为poly(X)多项式的根:roots(p)计算以向量p为系数的多项式的根,包括重根,复根多项式求值:polyval(p,x),p是多项式的系数,x可以是一个数也可以是一个矩阵多项式求拟合次数:polyfit(x,y,n),x可以是一个数也可以是一个矩阵,y 是x对应的数或矩阵多项式的四则运算:(1)P1+P2;(2)P1-P2;(3)conv(P1,P2), (4)deconv(P1,P2)四、实验容1. 已知矩阵11 12 13 1421 22 23 24A= 31 32 33 3441 42 43 44(1) 如何输出A的第1列?(2) 如何输出A的第2行?(3) 如何输出A的第2列和第3列?(4) 要得到22233233⎛⎫⎪⎝⎭,怎么办?(5) 如何输出A的第1列和第3列?(6) 如何将21和31按一列输出?(7) 如何将A所有元素按从最左列至最右列新排列为一列输出?(8) 如何将A原阵输出?(9) 如何输出2阶全1阵?(10) 如何输出2阶单位阵?(11) 试用分块矩阵的方法生成阵11 12 13 14 1 121 22 23 24 1 131 32 33 34 1 041 42 43 44 0 1(12) 求A的主对角线(13) 求除去A阵第1列后新阵的主对角线(14) 求除去A阵第1行后新阵的主对角线(15) 求除去A 阵从左到右前2列后新阵的主对角线(16) 要分别单独输出A 阵元素11、22、33、44,怎么办?(17) 如何将11、31、12、32、13、33、14、34按顺序一行输出?2. 已知 2354127354217623A -⎡⎤⎢⎥--⎢⎥=⎢⎥-⎢⎥--⎣⎦.求(1)A 的逆;(2)A 的行列式;(3)A 的迹; (4)A 的所有特征向量和特征值。
3. A=magic(3),B=7*rand(3),计算数组A 、B 乘积,计算A&B ,A|B ,~A ,A==B ,A>B 如何生成一个三阶幻方、3阶随机阵、1行2列全零阵、3行4列全一阵、3阶单位阵?4. 生成一个4阶Hilbert 矩阵H ,(1)求H 的转置;(2)将H 旋转90度;(3)对H 实行左右翻转;(4)对H 实行上下翻转。
5 输入如下矩阵A0 π/3A = π/6 π/2(1) 求矩阵B1, B1中每一元素为对应矩阵A中每一元素的正弦函数(2) 求矩阵B2, B2中每一元素为对应矩阵A中每一元素的余弦函数(3) 求 B 12+B 22(4) 求矩阵A的特征值与特征矢量:称特征矢量为M,而特征值矩阵为L(5) 求Msin(L)M -1(6) 使用funm 命令求矩阵A 的正弦函数(结果应该与(5)同)(7) 求cosA(8) 证明 sin 2A+cos 2A=I I 是全1阵6 某专业有三名研究生,本学期选修了四门课程,若这些研究生的,学号,性别,出生年月,课程名称,考试成绩可任意假定,(1)分别用结构型变量和细胞型变量表示以上信息;(2)举例说明查阅以上任何一条信息的方法;(3)求每一个研究生的平均成绩.7. 已知多项式32()3279p x x x x =-++,试求:(1)p(x)的根;(2)由其根生成一个多项式q(x)并与p(x)比较;(3)计算p(1.5),p(-2),p(5)的值。
8 已知矩阵A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4],求(1)A的特征多项式(2)特征多项式中未知数为20 时的值(3)特征多项式的根(4)特征多项式的导数9. 在实验中测得如下10组数据:X 1 2 3 4 5 6 10 12 15 16 Y 7 15 19 30 38 37 23 69 39 28 (1)求最多能拟合多项式的次数是多少?并求出各项系数。
(2)将数据点和拟合曲线在同一图中绘出。
五、实验过程及结果(含源代码)1、在MA TLAB中新建.m文件,输入实验代码如下并保存:clc,clearA=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44];A1=A(:,1)A2=A(2,:)A3=A(:,2:3)A4=A(2:3,2:3)A5=A(:,1:2:3)A6=A(2:3)A7=A(:)A8=A(:,:)A9=ones(2,2)A10=eye(2)A11=[A,[ones(2,2);eye(2)]]A12=diag(A)A13=diag(A,1)A14=diag(A,-1)A15=diag(A,2)点击“run”运行得到结果如下:A1 =11213141A2 =21 22 23 24A3 =12 1322 2332 3342 43A4 =22 2332 3311 1321 2331 3341 43 A6 =21 31 A7 =112131411222324213233343142444A8 =11 12 13 1421 22 23 2431 32 33 3441 42 43 44A9 =1 11 1A10 =1 00 1A11 =11 12 13 14 1 121 22 23 24 1 131 32 33 34 1 041 42 43 44 0 1 A12 =112233A13 =122334A14 =213243A15 =13242、在命令窗口输入代码如下:A=[2 3 -5 4;-1 2 7 -3;5 -4 2 1;7 6 -2 -3];inv(A)ans =0.0198 0.0010 0.1069 0.06100.1199 0.1116 -0.0636 0.02710.0709 0.1616 0.0667 -0.04480.2388 0.1178 0.0777 -0.1069 det(A)-1918trace(A)ans =3E=eig(A)E =-5.65454.68881.9828 + 8.2711i1.9828 - 8.2711i[V,D]=eig(A)V =0.3850 0.4655 -0.0889 + 0.4794i -0.0889 - 0.4794i-0.1196 0.4083 -0.1447 - 0.5624i -0.1447 + 0.5624i-0.1972 0.4872 0.5903 0.5903-0.8936 0.6157 -0.1444 + 0.2359i -0.1444 - 0.2359iD =-5.6545 0 0 00 4.6888 0 00 0 1.9828 + 8.2711i 00 0 01.9828 - 8.2711i3、在命令窗口键入实验代码如下:>> A=magic(3),B=7*rand(3)A =8 1 63 5 74 9 2B =6.6509 3.4019 3.19531.6180 6.2391 0.12954.24795.3347 5.7499>> A*Bans =80.3126 65.4622 60.190857.7778 78.7438 50.482449.6611 80.4287 25.4465 >> A&Bans =1 1 11 1 11 1 1>> A|Bans =1 1 11 1 11 1 1>> ~Aans =0 0 00 0 00 0 0>> A==Bans =0 0 00 0 00 0 0>> A>Bans =1 0 11 0 10 1 0>> A=magic(3)A =8 1 63 5 74 9 2>> B=rand(3)B =0.9501 0.4860 0.45650.2311 0.8913 0.01850.6068 0.7621 0.8214 >> C=zeros(1,2)C =0 0>> D=ones(3,4)D =1 1 1 11 1 1 11 1 1 1>> E=eye(3)E =1 0 00 1 00 0 14、在命令窗口键入实验代码及运行结果如下:>> H=hilb(4)H =1.0000 0.5000 0.3333 0.25000.5000 0.3333 0.2500 0.20000.3333 0.2500 0.2000 0.16670.2500 0.2000 0.1667 0.1429 >> H'ans =1.0000 0.5000 0.3333 0.25000.5000 0.3333 0.2500 0.20000.3333 0.2500 0.2000 0.16670.2500 0.2000 0.1667 0.1429 >> rot90(H)ans =0.2500 0.2000 0.1667 0.14290.3333 0.2500 0.2000 0.16670.5000 0.3333 0.2500 0.20001.0000 0.5000 0.3333 0.2500 >> fliplr(H)ans =0.2500 0.3333 0.5000 1.00000.2000 0.2500 0.3333 0.50000.1667 0.2000 0.2500 0.33330.1429 0.1667 0.2000 0.2500>> flipud(H)ans =0.2500 0.2000 0.1667 0.14290.3333 0.2500 0.2000 0.16670.5000 0.3333 0.2500 0.20001.0000 0.5000 0.3333 0.2500 5、在命令窗口键入实验代码及运行结果如下:>> A=[0 pi/3;pi/6 pi/2]A =0 1.04720.5236 1.5708>> B1=sin(A)B1 =0 0.86600.5000 1.0000>> B2=cos(A)B2 =1.0000 0.50000.8660 0.0000>> B1^2+B2^2ans =1.8660 1.3660>> [M,L]=eig(A)M =-0.9628 -0.48960.2703 -0.8719L =-0.2940 00 1.8648>> M*sin(L)*inv(M)ans =-0.1200 0.60480.3024 0.7873>> funm(A,sin)ans =-0.1200 0.60480.3024 0.7873>> funm(A,cos)ans =0.7873 -0.6048-0.3024 -0.1200>> (funm(A,sin))^2+(funm(A,cos))^2 ans =-0.0000 1.00006、实验代码及运行结果如下:(1) 分别用细胞型变量和结构型变量表示题示信息如下:% 细胞型变量A1={'明',20130001,'男',19890214,'MATLAB',99,'ENGLISH',88,'Matrix',96,'Math',94};A2={'远',20130006,'男',19900425,'MATLAB',98,'ENGLISH',80,'Matrix',90,'Math',96};A3={'王云',20130009,'女',19901001,'MATLAB',97,'ENGLISH',89,'Matrix',88,'Math',90};% 结构型变量B1=struct('Name','明','StuNumber',20130001,'Sex','男','Birth',19890214,...'MATLAB',99,'ENGLISH',88,'Matrix',96,'Math',94);B2=struct('Name','远','StuNumber', 20130006,'Sex','男','Birth', 19900425,...'MATLAB',98,'ENGLISH',80,'Matrix',90,'Math',96);B3=struct('Name','王云','StuNumber', 20130009,'Sex','女','Birth', 19901001,...'MATLAB',97,'ENGLISH',90,'Matrix',88,'Math',90);C=[B1 B2 B3];(2) 查询信息,如查询明的学号,实验代码如下:name='明'information='StuNumber';for i=1:3if strcmp(C(i).Name,name)==1disp(information);getfield(C(i),information)break;endend运行结果如下:name =明StuNumberans =20130001(3)求每位研究生的平均成绩:for i=1:3Average(i)=(C(i).MATLAB+C(i).ENGLISH+C(i).Matrix+C(i).Math)/4; endAverage结果如下:Average =94.2500 91.0000 91.25007、在命令窗口键入实验代码及运行结果如下:>> p=[3 -2 7 9];>> x=roots(p)x =0.7513 + 1.7392i0.7513 - 1.7392i-0.8358>> q=poly(x)q =1.0000 -0.66672.33333.0000>> b=[1.5 -2 5];>> polyval(p,b)ans =25.1250 -37.0000 369.00008、在命令窗口键入实验代码及运行结果如下:>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4];>> p=poly(A);>> poly2sym(p)ans =x^4 - (69*x^3)/10 - (3863*x^2)/50 - (8613*x)/100 + 12091/20>> polyval(p,20)ans =7.2778e+04>> roots(p)ans =13.0527-4.1671 + 1.9663i-4.1671 - 1.9663i2.1815>> Dp=polyder(p);>> poly2sym(Dp)ans =4*x^3 - (207*x^2)/10 - (3863*x)/25 - 8613/1009、因题目给出的实验数据是10组,可以看做是10个多项式方程组,仅当多项式的次数小于方程组的个数时,方程组为超定方程,此时才可以进行最小二乘多项式拟合,因此,最多拟合次数为9次,实验代码及运行结果如下:X=[1 2 3 4 5 6 10 12 15 16];Y=[7 15 19 30 38 37 23 69 39 28];a=polyfit(X,Y,9);x2=1:0.1:16;y2=polyval(a,x2);plot(X,Y,'r*',x2,y2,'b-')legend('原数据点','拟合曲线')拟合多项式系数如下:a =Columns 1 through 70.0000 -0.0005 0.0150 -0.2693 2.9713 -20.5126 85.9563Columns 8 through 10-204.4409 250.3796 -107.0989实验图形如下所示:(此处按题号顺序写上所写的程序语句容以及matlab中出现的程序运行结果)六、实验总结。