提供两种方式:
1将包解压到一个目录,然后点击其中的一个文件,matlab打开编辑器,点编辑器上的运行按钮(快捷键:F5),Matlab提示你改变工作目录,选“是”(yes),程序执行。
2将包的目录添加到Matlab的路径中去,点“File”—>“set path”—>"add"找到包目录,点左下角的"save"。以后在工作区输入相应的函数名就可以了。注意,函数名最好不与Matlab的工具箱函数名不要重复。
matlab使我们平时在科研中经常使用的编程处理软件。我们通过自己写代码或者使用别人开源代码,可以实现自动化计算。
工具/原料:惠普45832536、win 101053、matlab563
1、安装正版的matlab并确保工具箱安装成功激活客户端。
2、进入matlab点击左上角的新建按钮创建m文件或者是函数文件。
3、根据自己计算需求编写代码包括m主程序和函数文件。
4、运行程序前点击左上角的保存选项按钮。
5、在matlab上方菜单点击三角符号开始运行。
6、运行没有报错d出运行结果matlab运行代码完成。运行没有报错d出运行结果matlab运行代码完成。
一、矩阵的表示方法
1、矩阵元素必须在”[]”内;
2、矩阵的同行元素之间用空格(或”,”)隔开;
3、矩阵的行与行之间用”;”(或回车符)隔开;
4、矩阵的元素可以是数值、变量、表达式或函数;
5、矩阵的尺寸不必预先定义。
二、矩阵的运算
1、算术运算
MATLAB的基本算术运算有:+(加)、-(减)、(乘)、/(右除)、\(左除)、^(乘方)、’(转置)。运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。
(1)矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。
(2)矩阵乘法假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=AB为mp矩阵。
(3)矩阵除法在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A的逆左乘B矩阵,也就是inv(A)B,而B/A等效于A矩阵的逆右乘B矩阵,也就是Binv(A)。对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般A\B≠B/A。
(4)矩阵的乘方一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
(5)矩阵的转置对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的, *** 作符’共轭不转置(见点运算);
(6)点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有、/、\和^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。
2、关系运算
MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。关系运算符的运算法则为:
(1)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0;
(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成;
(3)当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。
3、逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。逻辑运算的运算法则为:
(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示;
(2)设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。a|b a,b中只要有一个非零,运算结果为1。~a当a是零时,运算结果为1;当a非零时,运算结果为0。
(3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成;
(4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成;
(5)逻辑非是单目运算符,也服从矩阵运算规则;
(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。
扩展资料:
1.获取矩阵元素
可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。
也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。
在MATLAB中,矩阵元素按列存储。
序号(Index)与下标(Subscript)是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)m+i。
其相互转换关系也可利用sub2ind和ind2sub函数求得。
2.矩阵拆分
利用冒号表达式获得子矩阵:
(1)A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
(2)A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素:
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
3、特殊矩阵
(1)魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
(2)范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
(3)希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
(4)托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x,y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
(5)伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
(6)帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。
参考资料:
百度百科——帕斯卡矩阵
百度百科——MATLAB
语法规则如下:
还有其他的continue,break语句与c语言类似,而input()的用法与python类似。
此外c语言中的”!“在matlab中用”~“
在matlab中对于自带的函数可以直接调用,若是自写函数,如冒泡排序算法
新建脚本后,保存为BubbleSortm, 注意文件名要与函数名一致
在调用的时候,只用新建脚本(与函数文件在同一路径下),即可直接调用
不需要用循环,直接使用逻辑数组运算更快。
我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)
我随便给这些数赋值
a=10;
x=1:3:30;
k=5;
temp = true(size(x));
temp(k) = false;
y = prod(a - x) / prod(x(k) - x(temp));
a-x是生成数组[a-x(1), a-x(2), , a-x(n)],prod()是吧这个数组相乘
temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),, x(k-1), x(k+1), , x(n)]
其他的应该容易理解
补充:拉格朗日插值多项式可也这么写:
%x0,y0是已知各点坐标,共n点
x0 = [1, 2, 3];
y0 = [1, 8, 27];
n = length(x0);
%x是要求的点
x = 4;
y = 0;
for k = 1:n
temp = true(size(x0));
temp(k) = false;
y = y + y0(k) prod(x - x0(temp)) / prod(x0(k) - x0(temp));
end
在编辑器窗口,单击绿色三角运行图标。运行后,可得到整个程序运行后的结果。想运行部分程序,即选中需要运行的代码,右击选择执行所选内容。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能。
MATLAB Compiler:可以下载 MATLAB Compiler Runtime (MCR),简化编译后的程序和组件的分发。
Image Processing Toolbox:通过亮度指标优化进行自动图像配准。
Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面。
使用matlab实现oper(x,y,method)函数,以使oper(x,y,'add')实现plus(x,y)即x+y,oper(x,y,'multiply')实现times(x,y)即xy,oper(x,y,'sub')实现minus(x,y)即x-y,而oper(x,y,'combine')实现strcat(x,y)即两字符串相连接的效果,需要用到strrep函数和feval函数,实现效果需用5个matlab语句,如下。
oper=@(x,y,method)feval(strrep(strrep(strrep(strrep(method,'add','plus'),'sub','minus'),'combine','strcat'),'multiply','times'),x,y);
oper(1,2,'add')
oper(1,2,'multiply')
oper(1,2,'sub')
oper(1,2,'combine')
oper('1','2','combine')
代码运行如图
以上就是关于matlab的程序包如何使用及运行全部的内容,包括:matlab的程序包如何使用及运行、matlab怎么运行代码、如何用matlab编写矩阵运算程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)