您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > MATLAB科学计算5.
MATLAB科学计算符号运算途径符号运算功能函数syms…MupadNotebook符号运算+数值计算22(,)|1Dxyxy练习:分别用功能函数和MuPAD计算221lnDdxdyxyMATLAB之Notebook在Word环境中使用MATLAB矩阵运算——高效functionys=funlag(x,y,xs)n=length(x);n1=length(xs);fori=1:n1s=0;forj=1:np=1;fork=1:nifk~=jp=p*(xs(i)-x(k))/(x(j)-x(k));endends=s+p*y(j);endys(i)=s;endfunctionyh=lagrange(x,y,xh)n=length(x);m=length(xh);x=x(:);y=y(:);xh=xh(:);yh=zeros(m,1);c1=ones(1,n-1);c2=ones(m,1);fori=1:n,xp=x([1:i-1i+1:n]);yh=yh+y(i)*prod((xh*c1-c2*xp')./(c2*(x(i)*c1-xp')),2);endMatrixLaboratory矩阵实验室MATLAB第6章矩阵基础6.1数值矩阵的创建6.1数值矩阵的创建[]中括号空格;分号或换行…续行符英文状态一、直接输入6.1数值矩阵的创建复矩阵的创建x=a+biiθxre或1、线性间隔向量(等差数列)二、特殊矩阵的创建A=x1:h:x2或A=[x1:h:x2]或A=(x1:h:x2)h:公差,h=1可省略不写1、等差数列(线性间隔向量)二、特殊矩阵的创建A=linspace(x1,x2,n)其中n:元素个数2、对数等差数列Y=logspace(x1,x2,n)输出Y:[y1…,y2]行向量log10(Y):等差数列2、对数等差数列(等比数列)二、特殊矩阵的创建Y=logspace(log10(a),log10(b),n)Y:等比数列a,b:初值和终值n:元素个数公比:11nba3、单位矩阵二、特殊矩阵的创建eye(m,n)eye(n)4、全1矩阵二、特殊矩阵的创建ones(m,n)ones(n)5、全0矩阵二、特殊矩阵的创建5、全0矩阵二、特殊矩阵的创建zeros(m,n)zeros(n)6、魔方阵(Magicsquare)二、特殊矩阵的创建各行各列及主对角线元素和均为3()2nn6、魔方阵(Magicsquare)magic(n)magic(4)ans=162313511108976124141517、Hilbert矩阵(Hilbertmatrix)hilb(n)1111231111234111111221nnHnnnnn8、三对角阵的构造11222111nnnnnacbacXbacba8、三对角阵的构造spdiags(sparsediagonalmatrices)步骤(1)将主对角线和两条次对角线元素作为列向量赋值给矩阵A[m*3]其中d=[d1d2d3],d定义A中3列的摆放位置A的第1列写在X的对角线上,按照d1的绝对值的大小移动相应的行数d10,下移整数行;d10,上移整数行。依此类推,完成三条对角线元素的摆放。m,n是X的维数(2)X=spdiags(A,d,m,n)(3)full(X)其他元素赋值0,形成全矩阵构造repmat(A,m,n)spdiags(A,d,m,n)acbacXbacba步骤(1)将主对角线元素和两条次对角线元素赋值给A,A=[bac]用repmat(A,m,n)复制,m是行复制次数n是列复制的次数,这里n=1。(2),(3)同前。acbacAbacba三、获取矩阵信息符号含义A(i,j)矩阵A的第j列第i行元素A(:,j)矩阵A的第j列A(i,:)矩阵A的第i行矩阵的维数size(A)返回行数和列数size(A,1)返回行数size(A,2)返回列数三、获取矩阵信息length(x)返回向量x的维数三、获取矩阵信息例1创建矩阵A,并输出维数、第一列、第二行12345102030405097531A11Aii方法一x=a+bi例2创建复矩阵例2创建复矩阵11Aiix=a+bi方法一方法二iθxre例3构造一个从1到10的等比数列,节点数是4q=logspace(log10(a),log10(b),n)例4创建如下7*7矩阵1111111133333113555311357531135553113333311111111例5构造如下方程组的系数矩阵12123234345452120202027xxxxxxxxxxxxxrepmat(A,m,n)spdiags(A,d,m,n)6.2数值矩阵的矩阵运算和数组运算一、矩阵运算遵循线性代数的矩阵运算法则1、矩阵加法C=A+B一、矩阵运算当A,B都是矩阵时,要求维数一致当A为数时,C=A*ones(size(B))+B2、矩阵减法C=A-B一、矩阵运算当A,B都是矩阵时,要求维数一致当A为数时,C=A*ones(size(B))-B3、矩阵乘法C=A*B一、矩阵运算要求A的列数等于B的行数4、矩阵除法线代:AB=C,则B=A-1CMATLAB:B=A\C或B=inv(A)*C左除反斜杠”\”4、矩阵除法线代:AB=C,则A=CB-1MATLAB:A=C/B或A=C*inv(B)右除斜杠”/”C=mpower(A,n)或C=A^n5、方阵乘幂matrixpowerA是方阵n是正整数,输出方阵n个连乘的结果n是负整数,输出方阵n个连乘后的逆矩阵eig(A)返回一个列向量其元素是A的特征值6、矩阵特征值和特征向量eigenvaluesandeigenvectors6、矩阵特征值和特征向量[v,d]=eig(A)v-以特征向量为列向量的矩阵d-特征值组成的对角阵7、方阵的特征多项式p=poly(A)A:矩阵A必须是方阵;p:A的特征多项式系数向量,按降幂排序。结合使用roots(p)可求A的特征值。矩阵运算数学符号MATLAB运算符号行列式|A|det(A)转置AT(或A’)A.’共轭conj(A)共轭转置A’秩r(A)rank(A)逆矩阵A-1inv(A)或A^(-1)ATA6.2数值矩阵的矩阵运算和数组运算二、数组运算把矩阵看做一组数据,在两个矩阵的对应元素之间按运算符号进行数与数的四则运算;类似于批处理。1、数组加法C=A+B二、数组运算2、数组减法C=A-B3、数组乘法C=A.*Bijijijcab当A是数时ijijcab运算法则要求A,B维数一致4、数组除法C=A./B当A或B是数时运算法则要求A,B维数一致/ijijijcab/ijijcab/ijijcab或5、数组乘幂C=power(A,B)或C=A.^B如果B是数,所有幂次相同如果A是数,所有底都相同运算法则要求A,B维数一致ijbijijca函数名数学意义函数名数学意义sin(x)sinxreal(x)实部asin(x)arcsinximag(x)虚部cos(x)cosxangle(x)复数相角sec(x)secxsign(x)正负号tan(x)tanxabs(x)绝对值或模atan(x)arctanxround(x)四舍五入6.基本初等运算函数名数学意义函数名数学意义log10(x)log10xmax(x)x是矩阵,输出各列元素中最大值;x是行或列向量,输出元素最大值log(x)lnxmean(x)x是矩阵,输出各列元素算数平均值;x是行或列向量,输出元素算数平均值log2(x)log2xsum(x)x是矩阵,输出各列元素之和;x是行或列向量,输出元素之和6.基本初等运算函数名数学意义函数名数学意义sqrt(x)mod(x1,x2)余数pow2(x)2xfactorial(x)阶乘exp(x)exdot(a,b)点积cross(a,b)叉积x6.基本初等运算1357911131516B例6求B的转置、行列式、秩、特征多项式、特征值和特征向量B.’det(B)rank(B)eig(B)poly(B)1234567810A1357911131516B(1)求A+B,A-B,A.*B,A./B例71234567810A1357911131516B(2)求C=A*B例71357911131516B例8已知AB=C,求A546675117147171193243283C例9已知AB=C,求B546675117147171193243283C1234567810A6.3数值矩阵的操作与变换1、矩阵的水平连接horzcat(A,B,……)或[A,B,……]A,B必须行数相等2、矩阵的垂直连接vertcat(A,B)或[A;B;……]A,B必须列数相等3、矩阵转化为列向量A(:)每一列顺序链接成列向量删除第m行A(m,:)=[]删除第n列A(:,n)=[]4、删除某行或某列A是矩阵,得到它的对角线元素5、diag(A)A是向量,得到以它为对角线元素的矩阵U=triu(A,k)k-对角线位置k=0,A主对角线k0,A主对角线上方的第k条对角线k0,A主对角线下方的第k条对角线Uppertriangular提取A某条对角线及其以上元素构造上三角阵U6、L=tril(A,k)k-对角线位置k=0,A主对角线k0,A主对角线上方的第k条对角线k0,A主对角线下方的第k条对角线Lowertriangular提取A某条对角线及其以下元素构造下三角阵L7、函数名功能flipud(A)上下翻转fliplr(A)左右翻转rot90(A,k)旋转k个90º,k为整数k0逆时针旋转,k0顺时针旋转例10(1)构造一个行向量,元素从1到6,步长为1;(2)以其为对角元素,构造对角阵13572358246834711A例11求A的第2行至第4行、第2列至第3列构成的矩阵例12交换A的第1行和第3行354647A1111234111123451111345611114567H4=例13提取4阶Hilbert矩阵的上三角阵元素U=triu(A,k)k=0,1,-11111234111123451111345611114567H4=例14提取4阶Hilbert矩阵的下三角阵元素L=tril(A,k)k=0,1,-1122111221A1()MDLU已知编写m文件,求M特征值中模最大者其中:D是对角阵,其主对角线元素对应A的主对角线元素-L为严格下三角阵,其主对角线下方元素是A的对应元素-U为严格上三角阵,其主对角线上方元素是A的对应元素
本文标题:MATLAB科学计算5.
链接地址:https://www.777doc.com/doc-2887659 .html