当前位置:文档之家› Matlab实验报告材料(二)矩阵和数组操作

Matlab实验报告材料(二)矩阵和数组操作

Matlab实验报告材料(二)矩阵和数组操作
Matlab实验报告材料(二)矩阵和数组操作

一、实验目的

1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。

2.学习矩阵和数组的加减运算与乘法。

3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。二、预备知识

1.常用的产生特殊矩阵的函数

?eye(m,n) 单位阵

?rand(m,n) 随机矩阵

?randn(m,n) 正态分布的随机矩阵

?zeros(m,n) 零矩阵

?ones(m,n) 全部元素都为1的矩阵

?compan(A) 矩阵A的伴随矩阵

?bankel(m,n) n维Hankel矩阵

?invhilb(n) n维逆Hilbert矩阵

?magic(n) n维Magic矩阵

?toeplitz(m,n) Toeplitz矩阵

?wilkinson(n) n维Wilkinson特征值测试矩阵

?handamard(n) n维Handamard矩阵

?hilb(n) n维Hilbert矩阵

?kron(A,B) Kronecker量积

?pascal(n) n维Pascal矩阵

?vander(A) 由矩阵A产生Vandermonde矩阵

2.通过矩阵的结构变换,获得新矩阵

表2 矩阵结构变化产生新矩阵

3.数组(矩阵)操作

对数组或矩阵的基本操作有插入、重新排列、提取、按列拉长、置空(去掉某行或某列)、置零、用单信下标操作一个矩阵,用逻辑数组操作一个矩阵、按指定条件求子数组,求数组的规模等,下面一一举例说明(对数组和矩阵不加区别)。

X=4:6 x=4 5 6

①插入通过对x进行插入运算创建矩阵A

A=[x-3;x;x+3] A=1 2 3

4 5 6

7 8 9

②重新排列以逆序重排A的各行形成矩阵B

B=A(3:-1:1,1:3) B=7 8 9

4 5 6

1 2 3

③提取提取A的前两行的后两列形成矩阵C

C=A(1:2,2:3) C=2 3

5 6

④按列拉长对C按列拉长形成矩阵D

D=C(:) D=2

5

3

6

⑤置空删除B的第2 列

B(:,2)=[] B=7 9

4 6

1 3

⑥置零将矩阵B的第2行第2列的元素置为1

B[2,2]=0 B=7 9

4 0

1 3

⑦用单个下标操作一个矩阵

MATLAB对矩阵中的元素赋予一个序号,序号值按列从第1列第1行到第1列第2行到第2列第1行到第2列第2行,直至最后一列最后一行的顺序计数。

B(3) ans=1

B(5) ans=0

B(2:4) ans=4 1 9

⑧用逻辑数组操作一个矩阵

x=-4:4 x=-4 –3 –2 –1 0 1 2 3 4

%判断数组中的元素的绝对值大于3的情况,绝对值大于3的元素置为1,否则为0。

abs(x)>3 ans=1 0 0 0 0 0 0 0 1

对矩阵可进行同样操作:

A=[1,2,3;4,5,6;7,8,9] A=1 2 3

4 5 6

7 8 9

abs(A)>3 ans=0 0 0

1 1 1

1 1 1

⑨按指定条件求子数组

首先由条件表达式生成一个逻辑数组,然后使用系统提供的函数即可,函数在已知数组中按逻辑数组的元素值查找所需的元素下标。

a=abs(x)>2 a=1 1 0 0 0 0 0 1 1

b=find(a) b=1 2 8 9

y=x(b) y=-4 –3 3 4

函数find也可用于矩阵。

A=[1:3;4:6;7:9] A=1 2 3

4 5 6

7 8 9

B=A>4 B=0 0 0

0 1 1

1 1 1

[r,s]=find(B) r=3 s=1

2 2

3 2

2 3

3 3

三、实验容与步骤

1.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。

⑴直接输入法

如在命令区输入A=[3,2,1;4,5,6;7,8,9]。

⑵直接利用MATLAB提供的函数创建一个3×3矩阵

如在命令区输入rand(3,3)即得到一个3×3的随机矩阵。

⑶利用MATLAB提供的“Matrix Editor”完成输入

步骤1 在命令区输入A=1。

步骤2 用鼠标单击工具栏的工作区浏览器,MATLAB弹出变量浏览器,选中变量A,鼠标左键双击A,打开矩阵编辑器。

步骤3 在左下脚的两个文本框中分别输入希望得到的矩阵的行数和列数:3行3列,即得到一个3×3矩阵。

步骤4 要将上面矩阵改为一个4×5矩阵,只需改变矩阵的行数和列数即可。如将3行3列改为4行5列,即可得到一个4×5矩阵。若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。

步骤5 要命令区输入save data A(data为我们给变量文件起的名称,系统会自动沿设定好的路径以“.mat”格式存储文件),即可保存上面例子中创建的矩阵A。

步骤6 在命令区输入load data即可把保存在文件中的矩阵读到MATLAB的工作区的存中来。

建立一个等差数列,然后由它产生一个对角阵。

步骤1 在命令区输入a=linspace(0,1.5,5)产生一个等差数列。

步骤2 在命令区输入B=diag(a)产生一个对角阵。

3.利用MATLAB的函数inv(A)求方阵A的逆矩阵。

步骤1 在命令区输入A=[1,2;5,6]得到一个2×2的方阵。

步骤2 再输入B=inv(A)求出A 的逆矩阵。

四、练习

创建一个5×5矩阵,提取主对角线以上的部分。

A=rand(3),B=magic(3),C=rand(3,4),计算A×B×C

创建一个3×3矩阵,并求其转置,逆矩阵。

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p 表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

MATLAB中的矩阵与向量运算

4.1 数组运算和矩阵运算 从外观形状和数据结构来看,二维数组和数学中的矩阵没有区别.但是,矩阵作为一种变换或映射算符的体现,矩阵运算有着明确而严格的数学规则.而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方面,操作简单,指令形式自然和执行计算有效.所以,在使用MATLAB时,特别要明确搞清数组运算和矩阵运算的区别.表 4.1.1 数组运算和矩阵运算指令形式和实质内涵 数组运算矩阵运算 指令含义指令含义 A.'非共轭转置A'共轭转置 A=s把标量s赋给数组A的每个元素 s+B把标量s分别与数组B的每个元素相加s-B, B-s标量s分别与数组B的元素之差 s.*A标量s分别与数组A的元素之积s*A标量s分别与矩阵A的元素之积 s./B, B.\s标量s分别被数组B的元素除s*inv(B)矩阵B的逆乘标量s A.^n数组A的每个元素的n次方A^n A为方阵时,矩阵A的n次方 A+B数组对应元素的相加A+B矩阵相加 A-B数组对应元素的相减A-B矩阵相减 A.*B数组对应元素的相乘A*B内维相同矩阵的乘积 A./B A的元素被B的对应元素除A/B A右除B B.\A一定与上相同B\A A左除B(一般与右除不同) exp(A)以e为底,分别以A的元素为指数,求幂expm(A) A的矩阵指数函数 log(A) 对A的各元素求对数logm(A) A的矩阵对数函数 sqrt(A) 对A的积各元素求平方根sqrtm(A) A的矩阵平方函数 从上面可以看到,数组运算的运算如:乘,除,乘方,转置,要加"点".所以,我们要特别注意在求"乘,除,乘方,三角和指数函数"时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维. 4.2 数组的基本运算 在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组. 4.2.1 点转置和共轭转置 . ' ——点转置.非共轭转置,相当于conj(A'). >> a=1:5; >> b=a. ' b = 1 2 3 4 5 >> c=b. ' c = 1 2 3 4 5 这表明对行向量的两次转置运算便得到原来的行向量. ' ——共轭转置.对向量进行转置运算并对每个元素取其共轭.如: >> d=a+i*a

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

MATLAB实验报告

实验一 名称:连续时间信号分析 姓名:王嘉琦 学号:201300800636 班级:通信二班 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 Matlab 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: k=2;w=3;phi=pi/4; t=0:0.01:3; ft=k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,-2.2,2.2]) title('余弦信号')

(2) )t (u )e 2(t -- 代码: k=-1;a=-1; t=0:0.01:3; ft=2-k*exp(a*t); plot(t,ft),grid on axis([0,3,2,3]) title('指数信号')

(3))]2()(u )][t (cos 1[--+t u t π 代码: k=1;w=pi;phi=0; t=0:0.01:2; ft=1+k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,0,2]) title('余弦信号')

MATLAB第二次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名: 学号: 指导教师:

一、实验名称 实验二 线性方程组求解和函数的数值逼近 二、实验目的 通过上机实验,使学生对病态问题、线性方程组求解和函数的数值逼近方法有一个初步的理解。 实验涉及的核心知识点:病态方程求解、矩阵分解和方程组求解、Lagrange 插值。 实验重点与难点:算法设计和MATLAB 编程 三、实验内容 1. 对高阶多项式 ()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 2. 对2 20n =,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量 b 的方法,确定方程组 ()n H x b = 最后,用矩阵分解方法求解方程组,并分析计算结果。 3. 对函数 ()2 1 125f x x = + []1,1x ∈- 的Chebyshev 点 ()()21cos 21k k x n π ?? -= ? ?+? ? ,1,2,,1k n =+ 编程进行Lagrange 插值,并分析插值结果。 四、实验数据及结果分析 1. 对高阶多项式

()()() ()()20 1 1220k p x x x x x k ==---=-∏ 编程求下面方程的解 ()190p x x ε+= 并绘图演示方程的解与扰动量ε的关系。 p=[1,-1]; for i=2:20 n=[1,-i]; p=conv(p,n); % 求多项式乘积 end m=zeros(1,21); % m 的最高次幂为20,有21项 hold on x=1:20; d=[-1,0,0.1,0.5,1]; for i=1:5 delt=d(i); m(2)=delt; y=(roots(p+m))'; % 求多项式的根 plot(x,y,'-o','color',[i/5,i/20,i/10]); end title('方程p(x)=0的解与扰动量delt 的关系') legend('delt=-1','delt=0','delt=0.1','delt=0.5','delt=1') 2468101214161820 010 20 30 40 50 60 方程p(x)=0的解与扰动量delt 的关系 delt=-1delt=0delt=0.1delt=0.5delt=1

matlab实验报告

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131姓名:陈万全学号:132852 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的

命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

matlab实验二实验报告及程序

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011——2012 学年 第一学期 ) 课程名称:控制系统计算机辅助设计 开课实验室:信自楼 234 2011年10月28日 年级、专业、班 学号 姓名 成绩 实验项目名称 实验二 控制系统分析 指导教师 胡蓉 教师评 语 该同学是否熟悉实验内容: A.熟悉□ B.比较熟悉□ C.不熟悉□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求 : A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 注:5个A 为优,5个B 为中,介于二者间为良,5个C 为不及格,3个B以上为及格。 教师签名: 年 月 日 实验二 控制系统分析 一、 实验目的 1. 掌握如何使用Matlab 进行系统的时域分析。 2. 掌握如何使用Matlab 进行系统的频域分析。 3. 掌握如何使用Matlab 进行系统的根轨迹分析。 4. 掌握如何使用Matlab 进行系统的稳定性分析。 二、 实验内容 1.时域分析 (1)典型二阶系统传递函数为:

当ζ=0.7, ω 取2、4、6、8、10、12的单位阶跃响应。 n 程序为:>> num1=4;den1=[1,2.8,4];sys1=tf(num1,den1); >> num2=16;den2=[1,5.6,16];sys2=tf(num2,den2); >> num3=36;den3=[1,8.4,36];sys3=tf(num3,den3); >> num4=64;den4=[1,11.2,64];sys4=tf(num4,den4); >> num5=100;den5=[1,14,100];sys5=tf(num5,den5); >> num6=144;den6=[1,16.8,144];sys6=tf(num6,den6); >> step(sys1,sys2,sys3,sys4,sys5,sys6); 运行单位阶跃响应结果图为: (2)典型二阶系统传递函数为: 当ω =6, ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的单位阶跃响应。 n

matlab矩阵运算和数组运算

matlab矩阵运算和数组运算 作者:佚名教程来源:网络点击数:1368 更新时间:2010-5-3 矩阵运算和数组运算是Matlab的数值运算中的两大类运算。矩阵运算是按矩阵运算法 则进行的运算;数组运算无论是何种运算操作都是对元素逐个进行。 矩阵运算和数组运算指令对照汇总 矩阵运算指令指令含义数组运算指令指令含义 A' 矩阵转置 A.+B 对应元素相加 A+B 矩阵相加 A.-B 对应元素相减 A-B 矩阵相减 A.*B 同维数组对应元素相乘 s+B 标量加矩阵 s.*A A的每个元素乘s s-B,B-s 标量矩阵相减 A./B A的元素被B的对应元素除 A*B 矩阵相乘 B.\A 同上 A/B A右除B s./B, B.\s s 分别被B的元素除 B\A A左除B A.^n A的每个元素自乘n 次 inv(A) 矩阵求逆 log(A) 对A的每个元素求对数 A^n 矩阵的n次幂 sqrt(A) 对A的每个元素求平方根 f(A) 求A的各个元素的函数值 例: a=[1 2 3; 4 5 6; 7 8 9];b=[1 2 3; 3 2 1;1 4 5]; c=[1 1 1;2 3 1;1 0 2]; d=a*c^2+b d = 32 31 36 82 79 82 128 129 134 3.4 矩阵函数和数组函数

3.4.1 基本数组函数 数组函数是对各个元素的函数设计的。 f(.)基本函数表 函数名称功能函数名称功能 sin 正弦 acosh 反双曲余弦 cos 余弦 atanh 反双曲正切 tan 正切 acoth 反双曲余切 cot 余切 asech 反双曲正割 sec 正割 acsch 反双曲余割 csc 余割 fix 朝零方向取整 asin 反正弦 ceil 朝正无穷大方向取整 acos 反余弦 floor 朝负无穷大方向取整 atan 反正切 round 四舍五入到整数 atan2 四象反正切 rem 除后取余数 acot 反余切 sign 符号函数 asec 反正割 abs 绝对值 acsc 反余割 angle 复数相角 sinh 双曲正弦 imag 复数虚部 cosh 双曲余弦 real 复数实部 tanh 双曲正切 conj 复数共轭 coth 双曲余切 log10 常用对数 sech 双曲正割 log 自然对数 csch 双曲余割 exp 指数 asinh 反双曲正弦 aqrt 平方根 f(.)特殊函数表 函数名称功能函数名称功能 bessel 第一、第二类Bessel函数 erf 误差函数

MATLAB实验报告

实验一 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 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

MATLAB实验报告(二) 西安邮电大学

西安邮电学院 《Matlab》 实验报告 (二) 2011- 2012 学年第 1 学期 自动化 专业: 自动0903 班级: 学号: 姓名: 2011 年10月15日

实验二 MATLAB 的基本计算 一、实验目的 1.掌握建立矩阵的方法。 2.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 3.能用MATLAB 进行基本的数组、矩阵及符号运算。 4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。 二、实验设备及条件 计算机一台(带有MATLAB6.5或以上版本的软件环境)。 三、实验内容 1.利用diag 等函数产生下列矩阵。 ??????????-=032570800a ???? ? ?????=8040 507 2 b 2.利用reshape 函数将1题中的a 和b 变换成行向量。

3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。 4.已知: ???????? ??-=765 3877 34434 12A ???? ? ?? ???--=7312 033 2 1 B 求下列表达式的值:

(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵) (2) B A K *21=和B A K *.22= (3) 331^A K =和3.32^A K = (4) B A K /41=和A B K \42= (5) ],[51B A K =和]2:);],3,1([[52^B A K =

5.下面是一个线性方程组: ???? ? ?????=????????????????????52.067.095.03216/15 /14 /15/14/13/14/13/12/1x x x (1) 求方程的解 (2) 将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变 6.利用randn 函数产生均值为0,方差为1的6×6正态分布随机矩阵C ,然后统计C 中大于-0.3,小于0.3的元素个数t

《MATLAB及应用》实验报告4

实验报告 实验项目名称MATLAB绘图 所属课程名称MATLAB及应用 实验类型上机实验 实验日期2015年12月日指导教师谢芹 班级 学号 姓名 成绩

一、实验名称 MATLAB绘图 二、实验目的 (1)掌握绘制二维图形的常用函数。 (2)掌握绘制三维图形的常用函数。 (3)掌握绘制图形的辅助操作 三、实验原理 1. 绘制二维图形的常用函数 plot函数绘制二维曲线,常用格式有: plot(x):缺省自变量的绘图格式,x可为向量或矩阵。 plot(x, y):基本格式,x和y可为向量或矩阵。 plot(x1, y1, x2, y2,…):多条曲线绘图格式,在同一坐标系中绘制多个图形。 plot(x, y, ‘s’):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号。 2. 绘制三维图形的常用函数 (1)三维曲线图——plot3函数 plot3(x1, y1, z1, 's1', x2, y2, z2, 's2'…) (2)三维网格图——mesh函数为数据点绘制网格线: mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标位置 mesh(x, y, z) —— x, y, z分别为三维空间的坐标位置 (3)三维曲面图——由surf函数完成的,用法和mesh类似。 3. 绘制图形的辅助操作 title ——给图形加标题 xlable ——给x轴加标注 ylable ——给y轴加标注 text ——在图形指定的任意位置加标注 gtext ——利用鼠标将标注加到图形任意位置 grid on ——打开坐标网格线

grid off ——关闭坐标网格线 legend —— 添加图例 axis —— 控制坐标轴刻度 4. 特殊坐标系 极坐标图形—— polar(theta,rho(i,:)) 四、实验内容 1、绘制23sin(23)26 t y t e π-=+和它的导数在[0,4π]的曲线,并用适当的字体、大小标注其x 轴、y 轴及其函数。 2、采用两种不同方法绘制224y x xe z --=在]3,3[,-∈y x 的三维(透视)网格曲面。(提示:ezmesh; mesh; hidden ) 3、绘制下列极坐标图形 r=3(1-cos θ) r=2(1+cos θ) r=2(1+sin θ) r=cos3 θ r=exp(4π θ) 4、在同一坐标内,分别用不同线型和颜色绘制曲线0.510.2cos4x y e x π-= 和0.522cos x y e x π-=,标记两曲线交叉点。 五、实验过程及结果(含源代码) 六、实验总结

Matlab常用函数数组及矩阵的基本运算

实验一 Matlab 常用函数、数组及矩阵的基本运算 一、 实验目的 1. 了解Matlab7.0软件工作界面结构和基本操作; 2. 掌握矩阵的表示方法及Matlab 常用函数; 3. 掌握数组及矩阵的基本运算. 二、 实验内容 1. 了解命令窗口(command widow)和变量空间(workspace)的作用,掌握清 除命令窗口(clc )和变量空间(clear)的方法.掌握查询函数(help)的方法. 2. 掌握保存和加载变量的方法. 加载变量:load 变量名. 3. 掌握掌握矩阵的表示方法: 给a,b,c 赋如下数据: ]6,46,23,4,2,6,3,8,0,1[,356838241248 7,278744125431-=??????????--=??????????=c b a 4. 求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果. 5. 将str1=electronic; str2 = information; str3 = engineering; 三个字符串连接 在一起成str = electronic information engineering. 6. 求矩阵a 的逆矩阵a -1,行列式计算。 (inv(a),det(a)) 三、 实验要求 1.上机操作,熟练掌握清除命令窗口和变量空间的方法、查询变量的方法、加载变量的方法。 2.第2道题请写出步骤。 3.对实验内容中第3-6项,写出指令,上机运行. 记录运行结果(数据)。 4.写出实验报告。 四、 实验结果 2. 用save 函数,可以将工作空间的变量保存成txt 文件或mat 文件等. 比如: save peng.mat p j 就是将工作空间中的p 和j 变量保存在peng.mat 中. 用load 函数,可以将数据读入到matlab 的工作空间中. 比如:load peng.mat 就是将peng.mat 中的所有变量读入matlab 工作空间中。

matlab实验报告

实验报告 实验课程:MATLAB综合实验 学生姓名: 学号: 专业班级: 2012年 5 月 20 日 实验四模拟滤波器频率特性测试 一、实验目的 1、掌握低通无源滤波器的设计; 2、学会将无源低通滤波器向带通、高通滤波器的转换; 3、了解常用有源低通滤波器、高通滤器、带通滤波器、带阻滤波器的结构与特性; 二、预备知识 1、学习“模拟滤波器的逼近”; 2、系统函数的展开方法; 3、低通滤波器的结构与转换方法; 预习报告中回答以下问题: 1、实际中常用的滤波器电路类型有哪些,有何特点? 2、有源滤波器、无源滤波器的概念,优缺点和各自的应用场合? 3、绘出低通、带通、带阻、高通四种滤波器的理想频响曲线及实际频响曲线,两者 有何根本区别,产生原因? 三、实验原理 模拟滤波器根据其通带的特征可分为: (1)低通滤波器:允许低频信号通过,将高频信号衰减; (2)高通滤波器:允许高频信号通过,将低频信号衰减; (3)带通滤波器:允许一定频带范围内的信号通过,将此频带外的信号衰减; (4)带阻滤波器:阻止某一频带范围内的信号通过,而允许此频带以外的信号衰减; 各种滤波器的频响特性图: 图2一1低通滤波器图2一2高通滤波器 图2一3带通滤波器图2一4带阻滤波器 在这四类滤波器中,又以低通滤波器最为典型,其它几种类型的滤波器均可从它转 化而来。 1、系统的频率响应特性是指系统在正弦信号激励下系统的稳态响应随激励信号频率变

化的情况。用矢量形式表示: 其中:|H(j ω)|为幅频特性,表示输出信号与输入信号的幅度比随输入信号频率的变化关系;φ(ω)为相频特性,表示输出信号与输入信号的相位差随输入信号频率的变化关系。 2、H(j ω)可根据系统函数H(s)求得:H(j ω)= H(s)︱s=j ω因此,对于给定的电路可根椐S 域模型先求出系统函数H(s),再求H(j ω),然后讨论系统的频响特性。 3、频响特性的测量可分别测量幅频特性和相频特性,幅频特性的测试采用改变激励信号的频率逐点测出响应的幅度,然后用描图法描出幅频特性曲线;相频特性的测量方法亦可改变激励信号的频率用双踪示波器逐点测出输出信号与输入信号的延时τ,根椐下面的公式推算出相位差 当响应超前激励时为 ()φω正,当响应落后激励时()φω为负。 四、实验原理图 图2一5实验电路 图中:R=38k Ω,C=3900pF ,红色框内为实验板上的电路。 五、实验前预习内容: 1、写出原理图中高、低通及并联后滤波器网络的电压移函数,计算截止频率,并画出幅 频特性及相频特性曲线; 2、测试频率特性时,测试点频率应如何选取。 六、实验内容及步骤: 将信号源CH1的信号波形调为正弦波,信号的幅度调为Vpp=10V 。 1、RC 高通滤波器的频响特性的测量: 将信号源的输出端(A)接实验板的IN1端,滤波后的信号OUT1接示波器的输入(B) 。根据被测电路的参数及系统的频特性,将输入信号的频率从低到高逐次改变十 次以上(幅度保持Vipp=10v) , 逐个测量输出信号的峰峰值大小(Vopp)及输出信号与输入信号的相位差 ,并将测量数据填入表一: 表一 得到幅频特性为: 2.RC 低通滤波器的频响特性的测量: 将信号源的输出(A)接实验板的IN2,滤波后的输出信号OUT2接示波器的输入(B) 。根

实验二MATLAB程序设计含实验报告

实验二 M A T L A B 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x) 选择一些数据测试你编写的函数。 5. 编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0

matlab数组运算

Matlab中数组元素引用有三种方法: 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 在使用这三种方法之前,大家头脑一定要清晰的记住,Matlab中数组元素是按列存储(与Fortran一样),比如说下面的二维数组 A= 8 1 6 3 5 7 4 9 2 Matlab的存储顺序是8,3,4,1,5,9,6,7,2,也就是说先行后列,对于3维数组呢,就是先行后列再页 对应个元素的索引和下标分别为 Element Index Subscripts 8 1 (1,1) 3 2 (2,1) 4 3 (3,1) 1 4 (1,2) 5 5 (2,2) 9 6 (3,2) 6 7 (1,3) 7 8 (2,3) 2 9 (3,3) 从上面的例子中已经很清晰的说明了下标和索引的区别了,也就是说Matlab为没有个元素分配了一个唯一识别的ID(即index) 1.下标法引用 A(ii,jj):其中ii和jj可以是一维向量、标量、“:”号或者“end” 大家对下标估计比较熟悉,由于在C语言中接触过,但是我这里需要强调的是,Matlab的下标是可以多行多列同时引用的,而像C语言等一次只能引用一个,比如 A(2:3,3:-1:1)表示引用数组中的2~3行,3~1列对应的元素 A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒数第n行或列 A(1,end-1)表示引用第1行倒数第2个元素

A([2 1 3 3],[1 1 2 2 1])表示引用按两个向量引用指定的元素,即A中的第2,1,3,3行和第1,1,2,2,1列对应的元素 >>A=magic(3) A = 8 1 6 3 5 7 4 9 2 >>A(2:3,3:-1:1) ans = 7 5 3 2 9 4 >>A(:,end) ans = 6 7 2 >>A(1,end-1) ans = 1 >>A([2 1 3 3],[1 1 2 2 1]) ans = 3 3 5 5 3 8 8 1 1 8 4 4 9 9 4 4 4 9 9 4 2.索引法引用(说白了索引就是存储顺序) A(index):index可以是任意的数组,index的元素必须是正整数,且不大于numel(A),返回的是一个尺寸与index一样的数组 下标和索引之间可以通过ind2sub和sub2ind函数相互转换,具体可以看帮助,很简单 [I,J] = ind2sub(siz,IND)

相关主题
文本预览
相关文档 最新文档