MATLAB初学者作业:标量、向量与矩阵运算实战

版权申诉
0 下载量 132 浏览量 更新于2024-09-05 收藏 15KB PDF 举报
"MATLAB作业(20211029210331).pdf" 这篇MATLAB作业涵盖了多个基本概念和技术,包括变量赋值、向量和矩阵生成、数学函数应用、向量方程计算、矩阵运算以及图形绘制。以下是详细的知识点解析: 1. **标量变量生成**: - `a=10`:这是一个简单的整数赋值。 - `b=2.5*(10^23)`:这里用到了指数运算,生成了一个非常大的浮点数。 - `c=2+3*i`:创建了一个复数。 - `d=exp(j*2*pi/3)`:利用`exp`函数和复数`j`(或`i`)计算了复数的指数形式,结果是-1/2 + √3/2 * i。 2. **向量生成**: - `aVec=[3.1415926]`:创建了一个包含单个元素的行向量。 - `bVec=[2.71828182]'`:转换数字为列向量。 - `cVec=5:-0.2:-5`:定义了一个等差序列,从5递减到-5,步长为-0.2。 - `dVec=logspace(0,1,101)`:生成一个对数空间中的向量,从10^0(即1)到10^1,包含101个点。 - `eVec='Hello'`:创建了一个字符向量。 3. **矩阵变量**: - `aMat=2*ones(9,9)`:生成一个9x9的全2矩阵。 - `bMat=diag(B)`:从一维数组`B`创建一个对角矩阵。 - `cMat=reshape(C,10,10)`:将一维数组`C`重塑成10x10的矩阵。 - `dMat=NaN*ones(3,3)`:创建一个3x3的全NaN矩阵。 - `eMat=reshape(E,2,3)`:将数组`E`重塑成2x3的矩阵。 - `fMat=reshape(F,5,3)`:同样,将数组`F`重塑成5x3的矩阵。 4. **标量方程**: - `x=1/(1+exp(-(a-15)/6))`:这是Sigmoid函数的表达式,常用于神经网络激活函数。 - `y=(sqrt(a)+b^(1/21))^pi`:涉及平方根、指数和幂运算。 - `z=log(real((c+d)*(c-d))*sin(a*pi/3))/(c*conj(c))`:包含了复数运算、取实部、对数、正弦和共轭运算。 5. **向量方程计算**: - `xVec=1/(2.*pi.*(2.5.^2))*exp((-cVec.^2)./(2.*(2.5.^2)))`:这是一组高斯函数,通常用于概率分布或滤波器。 - `yVec=sqrt((aVec'.^2)+bVec.^2)`:向量的模运算,类似二维坐标系中点的距离公式。 - `zVec=log10(1./dVec)`:计算对数,这里用的是以10为底的对数。 6. **矩阵运算**: - `xMat=(aVec*bVec)*(aMat^2)`:向量乘法后与矩阵的平方相乘。 - `yMat=bVec*aVec`:向量的点乘运算。 - `zMat=det(cMat)*((aMat*bMat)')`:计算矩阵`cMat`的行列式,然后与两个矩阵的乘积的转置相乘。 7. **一般运算及元素索引**: - `cSum=sum(cMat)`:计算矩阵的总和。 - `eMean=mean(eMat,2)`:沿第二个维度计算矩阵的平均值。 - `eMat(1,:)=[111]`:修改矩阵的第一行。 - `cSub=cMat(2:9,2:9)`:提取矩阵的一个子矩阵。 - `lin=1:20; lin(2:2:end)=-lin(2:2:end)`:创建一个序列并修改偶数索引的元素。 - `r=rand(1,5); r(find(r<0.5))=0`:生成随机数,将小于0.5的元素设为0。 8. **图形绘制**: - `twoLinePlot`部分展示了如何在MATLAB中画图,包括绘制两个函数(正弦和余弦),设置坐标轴标签,添加标题,以及设置图例的位置。 这些内容涵盖了MATLAB的基本操作,包括数值计算、矩阵处理、向量运算和图形绘制,是学习MATLAB编程的重要基础。
2021-10-30 上传