实验三 MATLAB矩阵分析与处理、m文件
程序:
a=rand(5)
b=det(a)
%求行列式的值
c=trace(a)
%求迹
d=rank(a)
%求秩
3
e1=norm(a,1) e2=norm(a) einf=norm(a,inf) 结果:
%求 1-范数 %求 2-范数 %求 -范数
4
4.已知
29 6 18
A
20
5 12
8 8 5
求 A 的特征值及其特征向量,并分析其数学意义。
程序:
A=[-29,6,18;20,5,12;-8,8,5];
[V,D]=eig(A)
%求特征值和特征向量
结果:
求得的三个特征值为-25.3169,-10.5182 和 16.8351,各特征值对应的特征向量为 V 的各列构成的向量。
%建立希尔伯特矩阵
P=pascal(5)
%建立帕斯卡矩阵
Hh=det(H)
%求行列式的值
Hp=det(P)
Th=cond(H)
%求条件数
Tp=cond(P)
结果:
2
P 矩阵的条件数比矩阵 H 的条件数更接近于 1,因此,矩阵 P 的性能要好于矩阵 H。
3.建立一个 5×5 矩阵,求它的行列式值、迹、秩和范数。
b 向量仅改变一个元素结果相差就很大。 (3)计算系数矩阵 A 的条件数并分析结论。
程序: format rat a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; c=cond(a) 结果:
条件数远大于 1,说明矩阵的性能不是很好。 6.建立 A 矩阵,试比较 sqrtm(A)和 sqrt(A),分析他们的区别。
9
b=[0.95,0.67,0.52]';
x=inv(a)*b
结果:
5
(2)将方程右边向量元素 b3 改为 0.53,再求解,并比较 b3 的变化和解的相对 变化。 程序: a2=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b2=[0.95,0.67,0.53]'; x2=inv(a)*b2 结果:
,其中
E、R、O、S
分别为单位矩阵、随机矩阵、
零矩阵和对角阵,试通过数值计算验证
A2
E O
R RS S 2 。
程序: E=eye(3); R=rand(3,2); O=zeros(2,3); S=diag([1,2]); A=[E,R;O,S]; X1=A*A X2=[E,R+R*S;O,S*S] 结果:
实验三、MATLAB 矩阵分析与处理、函数文件
一、 实验目的
1.掌握生成特殊矩阵的方法。 2.掌握矩阵分析的方法。 3.用矩阵求逆法解线性方程组。 4.理解函数文件的概念。 5.掌握定义和调用 MATLAB 函数的方法。
二、 实验内容及结果
1.设有分块矩阵 A OE2333
R32 S 22
function f=fx(x)
f=inv((x-2).^2+0.1)+inv((x-3).^4+0.01)
在命令窗口调用该函数:
x=[2,1;3,5];
f=fx(x)
%调用 fx.m 函数
结果:
8
三、 实验总结与体会
1.一定要提前预习。 2.再用希尔伯特矩阵的时候要先命令以有理数形式输出。 3.条件数越接近 1 矩阵性能越好。 4.超越函数是直接作用于矩阵上的,而普通数学运算函数是作用于各元素本身。 5.命令中含有逆矩阵形式(1/x)时,应用 inv(x)。
%求指数 %求对数 %求正弦值 %求余弦值
%调用 lxy.m 函数
7
8.设
f
(x)
(x
1 2)2
0.1
(x
1 3)4
,编写一个 0.01
MATLAB
函数文件
fx.m,使得调
用 f(x)时,x 可用矩阵带入,得出的 f(x)为同阶矩阵。 编写一个函数文件 fx.m,如下图所示:
程序:
程序: A=[6,5;4,7]; B=sqrtm(A) C=sqrt(A)
6
结果:
sqrt 是作用在矩阵的各元素上,而 sqrtm 是直接作用于矩阵的。 7.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调
用该函数文件。 编写一个函数文件 lxy.m,使其达到所求功能。
程序: function[a,b,c,d]=lxy(i) a=exp(i); b=log(i); c=sin(i); d=cos(i); 在命令窗口调用该函数: [a,b,c,d]=lxy 1/ 3 1/ 4 x1 0.95
1/ 3
1/ 4
1
/
5
x2
0.67
1/ 4 1/ 5 1/ 6x3 0.52
(1)求方程的解。
程序:
a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
%建立单位矩阵 %建立随机矩阵 %建立零矩阵 %建立对角阵
1
X1 和 X2 结果相等,即可证明原式成立。
2.产生 5 阶希尔伯特矩阵 H 和 5 阶帕斯卡矩阵 P,且求其行列式的值 Hh 和 Hp 以及
它们的条件数 Th 和 Tp,判断哪个矩阵性能更好。为什么?
程序:
format rat
H=hilb(5)
实验三_M_文件及_MATLAB_程序设计与调试
实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
MATLAB实验参考2018
MATLAB 运算基础
2.掌握 MATLAB 各种表达式的书写规则以及常用函数的使用。
二、 实验设备与仪器
1.计算机 2.matlab 集成软件
三、实验原理
1.矩阵的建立方法 (1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行 的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 (2) 利用 M 文件建立矩阵,对于比较大且比较复杂的矩阵, 可以为它专门建立一个 M 文件。 (3)利用 MATLAB 函数(特殊矩阵函数)建立矩阵。 2. 常用数学函数 sin :正弦函数 cos :余弦函数 sqrt :平方根函数 exp :自然指数函数 abs :绝对值函数 rem :求余数或模运算 mod :模除求余 fix :向零方向取整 floor:大于自变量的最大整数 round:四舍五入到最邻近的整数
x 2 y 2 2 y
(1 x y)dxdy
程序: clear;syms x y z; iy=int(1+x+y,y,(-sqrt(1-x^2))+1,(sqrt(1-x^2))+1); z=int(iy,x,-1,1) 结果: z = 2*pi 5. (广义积分)计算广义积分
1 sin x 1 tan( x ) exp( x 2 ) dx 1 x 4 dx , 0 x , 0 1 x 2 dx
(二) 、操作实现下列建模过程
1 2 3 1、简单矩阵 A 4 5 6 的输入步骤。 ,3 4,5,6 7,8,9] 3、指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8
2
4、画出 z
0 1 3 d 0 1 4 。 0 1 5
matlab实验三
1 + 2i 2 1 2 A= , B = 3 4 i 1
例3-9
求:A‘,A.',B’,B.’
19
矩阵函数
1、矩阵的共轭 MATLAB中求矩阵的共轭矩阵的函数是conj,其调用 格式为: B=conj(A) 求矩阵A的共轭矩阵B,复数矩阵的共轭与 复数的共轭类似,复数矩阵的共轭矩阵与复数矩阵的 实部相同,虚部相反。
5
方法二: 通过M文件创建矩阵
当矩阵的规模较大时,直接输入法就力不从心, 出现差错也不容易修改。因此可以使用M文件生成 矩阵。 方法:建立一个M文件,其内容是生成矩阵的命令, 在MATLAB的命令窗口中输入此文件名,即将矩阵 调入工作空间(写入内存)。
6
方法二: 通过M文件创建矩阵
例3-2 用建立M文件的方式生成矩阵 (1) 建立M文件mydata.m内容如下
注意: 注意:在A.\B的结果中,“Inf”表示无穷大,在MATLAB中,被零 除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf” 标记。
16
4、 矩阵的幂运算:^ A^B A的B次方。 (1)A和B都是标量时,表示标量A的B次幂。 (2)A为矩阵,B为标量时要求A必须是方阵。
(3)当A为标量,B为矩阵时,要求B为方阵。
10
矩阵的算术运算
例3-4
1 2 3 A = 2 3 4 , 3 4 5 3 2 4 B = 2 5 3 2 3 1
求A+B,A-2
例3-5 两个矩阵如下所示,维数不同,求两者相 减的差。
MATLAB矩阵实验报告
MATLAB程序设计实验班级:电信1104班姓名:龙刚学号:1404110427实验内容:了解MA TLAB基本使用方法和矩阵的操作一.实验目的1.了解MA TLAB的基本使用方法。
2.掌握MA TLAB数据对象的特点和运算规则。
3.掌握MA TLAB中建立矩阵的方法和矩阵的处理方法。
二.实验内容1.浏览MATLAB的start菜单,了解所安装的模块和功能。
2.建立自己的工作目录,使用MA TLAB将其设置为当前工作目录。
使用path命令和工作区浏览两种方法。
3.使用Help帮助功能,查询inv、plot、max、round等函数的用法和功能。
使用help命令和help菜单。
4.建立一组变量,如x=0:pi/10:2*pi,y=sin(x),在命令窗口显示这些变量;在变量窗口打开这些变量,观察其值并使用绘图菜单绘制y。
5.分多行输入一个MA TLAB命令。
6.求表达式的值)610.3424510w-=+⨯()22tanb ca eabcxb c aππ++-+=++,a=3.5,b=5,c=-9.8(20.5ln tz e t=,21350.65it-⎡⎤=⎢⎥-⎣⎦7.已知1540783617A--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,831253320B-⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A+6B,A2-B+IA*B,A.*B,B*AA/B,B/A[A,B],[A([1,3], :); B^2]8.已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦ 输出A 在[10,25]范围内的全部元素取出A 的前三行构成矩阵B ,前两列构成矩阵C ,右下角3x2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E分别求表达式E<D ,E&D ,E|D ,(~E) | (~D)9.已知2961820512885A -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求A 的特征值和特征向量,分析其数学意义。
matlab实验
实验一 MATLAB基本操作一、实验目的1、了解MATLAB应用程序环境2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序4、掌握MATALB调试过程,帮助文件5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材PC电脑,MATLAB6.5软件三、实验内容和步骤1、MATLAB语言上机步骤:(1)、进入系统在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果(2)、常用命令编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根(2)绘图功能:如,绘制正弦曲线和余弦曲线x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));(3)仿真功能:如,请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
四、实验注意事项1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结MATLAB程序的结构和书写规则。
五、思考题1、matlab到底有多少功能?2、MATLAB的搜索路径3、掌握使用MATLAB帮助文件实验二 MATLAB 矩阵及其运算一、 实验目的1、了解矩阵的操作,包括矩阵的建立、矩阵的拆分、矩阵分析等2、了解MATLAB 运算,包括算术运算、关系运算、逻辑运算等3、掌握字符串的操作,了解结构数据和单元数据。
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输入输出的应用(1-7章的内容)
实验3、输入输出的应用目的与要求:掌握自定义函数的使用掌握matlab 输入和输出的应用实验内容:1、产生一个1x10的均匀随机矩阵,大小范围为[-5 5],并且按照从大到小的顺序排列。
2、设 y=cos[0.5+((3sinx)/(1+x^2))]把x=[0,2π]间分为101点,画出以x 为横坐标,y 为纵坐标的曲线;线条颜色为红色,线型为虚线。
3、创建M 文件,提示用户输入下面的矩阵,用函数max 计算矩阵中的最大值。
提示用户输入的矩阵为:[1 5 3 8 9 22]4、将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。
①y=]22[)cos(ππ,,-∈x x (曲线图); ②4)y 2,-4x (-242),(2222≤≤≤≤+=;y x y x f (三维曲面图)。
5、请自己定义函数,函数名为qj (注意保持时候函数名和文件名一致)y=1*2*3*…*n (注意函数文件不可以直接运行,只能被调用)(1)求前n 项积,n 为自然数。
(2)给出调用命令,如n=100时的结果。
6、根据当前美元和人民币的汇率,提示用户输入美元的起始值和终止值,步长为1,将美元人和民币的兑换输出结果绘制成表格,要求用disp 在表格中添加标题和表头。
(参考p181例7.2)7、首先阅读程序,理解程序的作用,然后修改下面的程序,让他们没有循环语句!修改后的程序与源程序得到相当的结果。
A=[1 2 3; 4 5 6; 7 8 9];[r,c]=size(A);for i=1:1:rfor j=1:1:cif (A(i,j)>8 | A(i,j)<2)A(i,j)=0;endendendA。
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中m文件的作用
matlab中m文件的作用
在MATLAB中,M文件是一种文本文件,用于存储MATLAB程序代码。
M文件可以包含函数、脚本或其他MATLAB代码。
它们被用来定义函数、执行一系列的命令或者实现特定的算法。
M文件的作用非常广泛,下面我会从几个不同的角度来详细介绍。
首先,M文件可以用来定义函数。
在MATLAB中,函数是一段独立的代码,可以接受输入参数并返回输出结果。
M文件中定义的函数可以被其他M文件或者MATLAB命令调用,这样可以实现代码的复用和模块化。
通过定义函数,我们可以将复杂的计算或者算法封装起来,提高代码的可读性和可维护性。
其次,M文件可以用来编写脚本。
脚本是一系列按顺序执行的MATLAB命令的集合。
通过编写脚本,可以实现自动化的数据处理、图形绘制、模拟等功能。
脚本可以帮助用户简化重复性工作,提高工作效率。
此外,M文件还可以用来实现特定的算法或者数值计算。
MATLAB作为一种强大的数学计算软件,提供了丰富的数学函数和工具,用户可以通过编写M文件来实现各种复杂的数学计算和算法。
比如,求解方程、拟合曲线、求解微分方程等。
总的来说,M文件在MATLAB中具有非常重要的作用,它们是实现功能的基本单元,可以用来定义函数、编写脚本、实现算法等。
通过合理的使用M文件,可以充分发挥MATLAB的强大功能,实现各种复杂的数学计算和工程应用。
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的所有数值功能都是以(复)矩阵为基本 单元进行的,向量和标量都作为特殊的矩阵来处
