Matlab基础知识学习
吃好睡好便好
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三角函数计算
求:30°角的正弦值、正切值;数值1/2的反余弦角度值;数值1的反正切角度值。原创 2026-08-18 22:23:02 · 21 阅读 · 0 评论 -
创建几种特殊矩阵
输出4维杨辉三角阵和4×4托普利兹矩阵,并根据一元四次方程x^4+3*x^3+7*x^2+5*x-9=0求解伴随矩阵。原创 2026-08-17 19:43:27 · 246 阅读 · 0 评论 -
MATLAB仿真框图4
函数表达式为:t>25时,y(t)=2*u(t);t≤25时,y(t)=10*u(t),其中u(t)=sint。对应该问题可创建如图1所示的仿真框图,运行时可将仿真停止时间设置为大于25的数,便于比较所得结果。画出某分段函数的仿真框图。原创 2026-08-11 19:32:13 · 225 阅读 · 0 评论 -
MATLAB仿真框图3
系统数学模型可表示为:m*x’’+c*x’+k*x=f(x),f(x)=sint,设m=1,c=4,k=40。画出单位质量单自由度有阻尼的弹簧系统在正弦激励下的仿真框图。对应该问题可创建如图1所示的仿真框图。原创 2026-08-10 19:08:02 · 229 阅读 · 0 评论 -
MATLAB仿真框图2
画出微分方程du/dt=u-2*x的仿真框图,其中u=sint。对应该问题可创建如图1所示的仿真框图。继续尝试其他的仿真框图。原创 2026-08-09 19:30:18 · 120 阅读 · 0 评论 -
MATLAB仿真框图
用MATLAB/Simulink可以创建系统的仿真模型,之前有完成过最基础的显示正弦函数的仿真框图,现在试着做做其他的仿真框图。设信号u等于正弦函数一阶微分的2.5倍,则对应该问题可创建如图1所示的仿真框图。原创 2026-08-08 12:29:51 · 260 阅读 · 0 评论 -
MATLAB中图像的对数变换
其中,t为变换后的目标灰度值;k为常数,k越大,灰度提高越明显;MATLAB 图像对数变换是指通过表达式t=clog(1+ks)调整图像灰度值。现要从当前工作目录中读取某原始彩色图像文件,进行对数变换。运行后得到如图1所示图形。图1 图像的对数变换。原创 2026-07-31 12:49:19 · 115 阅读 · 0 评论 -
MATLAB中图像的线性变换
MATLAB 图像线性变换是通过表达式y=kx+b调整每个像素的亮度与对比度,使灰暗/平淡的图片变清晰、变亮或变暗,便于观察或识别。4、k=1且b≠0,输出图像所有像素的灰度值上移或下移,图像更暗或更亮。现要从当前工作目录中读取某原始彩色图像文件,进行上述5种线性变换。5、k=-1且b=255,输出图像反转变化。3、0<k<1,输出图像的对比度减小。1、k=1且b=0,输出图像保持不变。2、k>1,输出图像的对比度增大。运行后得到如图1所示图形。图1 图像的线性变换。原创 2026-07-30 14:33:04 · 325 阅读 · 0 评论 -
MATLAB中的图像直方图
count,x]=imhist(I):获取直方图信息,count为每一级灰度像素个数,x为灰度级别,可以通过stem(x,count)命令画相应直方图。图像直方图是反映一个图像像素分布的统计表,横坐标代表图像像素的种类,纵坐标代表每一种颜色值在图像中的像素总数或者占所有像素个数的百分比。进行图像直方图处理,可以用imhist( )函数,具体有以下用法。imhist(I):直接显示图像I的灰度直方图。imhist(I,n):指定灰度级n显示直方图。运行后得到如图1所示图形。图1 图像直方图处理。原创 2026-07-29 13:31:59 · 285 阅读 · 0 评论 -
MATLAB中图像格式的转换
彩色图像,也称为RGB图像,分别用R、G、B三个亮度值为一组,代表每个像素的颜色。灰度图像,是指每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮白色的灰度。索引图形,包括图像矩阵和颜色图数组,其中,颜色图是按照图像中颜色值进行排序后的数组;对于每个像素,图像矩阵包含一个值,这个值就是颜色图数组中的索引。二值图像,也称黑白图像,是指每个像素点只有两种可能,0和1,0代表黑色,1代表白色。在MATLAB中,主要支持的图像类型有彩色图像、灰度图像、二值图像和索引图像。运行后得到如图1所示图形。原创 2026-07-28 12:15:25 · 300 阅读 · 0 评论 -
MATLAB中图像的读取、写入和显示
low high]为指定显示灰度图像的灰度范围,高于high的像素被显示为白色,低于low的像素被显示为黑色,介于high和low之间的像素被按比例拉伸后显示为各种等级的灰色,默认状态下按原图像色彩显示。在MATLAB中,图像的读取、写入和显示,可以分别通过imread( )、imwrite( )和imshow( )函数实现。imwrite( )函数的命令格式为:imwrite(I,‘filename’,fmt)。imread( )函数的命令格式为:I=imread(‘filename’,fmt)。原创 2026-07-26 10:59:41 · 301 阅读 · 0 评论 -
矩阵旋转的计算
矩阵的旋转可以使原矩阵通过逆时针或顺时针的旋转变化各元素位置,形成新的矩阵。Matlab中可通过rot90(A,k)的方式实现,参数’k’确定旋转次数和方向,正数表示逆时针,负数表示顺时针。原创 2026-06-02 19:37:02 · 285 阅读 · 0 评论 -
矩阵秩的计算
矩阵的秩是指一个矩阵中线性独立的行(或列)向量的最大数量,可以记作r(A),matlab里面用rank(A)进行求解。所谓的独立行、独立列,是指某行或某列的元素不能通过其他行或列元素的线性组合得到。原创 2026-06-02 08:08:53 · 143 阅读 · 0 评论 -
矩阵迹的计算
矩阵的迹是指一个方阵的主对角线(从左上到右下)上所有元素的和。对于一个n行n列的方阵A,其迹记作tr(A)。设矩阵A=[a b;c d],则矩阵A的迹为a+d。原创 2026-06-01 13:41:17 · 243 阅读 · 0 评论 -
矩阵行列式的计算
对于一个n行n列的方阵A,其行列式记为det(A)或者|A|。设矩阵A=[a b;c d],则矩阵A的行列式为ad-bc。原创 2026-06-01 13:30:00 · 57 阅读 · 0 评论 -
矩阵的求逆运算
矩阵的求逆运算,是指对原有矩阵找到一个新矩阵,如果两个矩阵相乘结果为一个单位矩阵,则新矩阵为原矩阵的逆矩阵,当然,原矩阵也是新矩阵的逆矩阵,即矩阵的逆矩阵再求逆就是该矩阵本身。所以,矩阵可逆的充要条件是该矩阵为方阵且其行列式不为零。用表达式的方式表达就是,对于一个n阶方阵A,若存在另一个n阶方阵B,使得AB = BA = I(I为单位矩阵),则称B是A的逆矩阵,记作A⁻¹。在matlab中,可用(A)^(-1),int(A)等方式实现矩阵的求逆运算。原创 2026-05-31 08:01:44 · 303 阅读 · 0 评论 -
矩阵的转置运算
如果是m行m列的方阵,转置后仍是m行m列的方阵,只不过原有矩阵第一行的元素成为了新矩阵第一列的元素,所以如果是对角矩阵,则转置后和原有矩阵一样。如果是m行n列的矩阵,转置后就变成了n行m列的矩阵。矩阵的转置运算,是指将矩阵的行和列互换得到一个新矩阵,在matlab中可用(A)’的方式实现。原创 2026-05-31 07:42:35 · 288 阅读 · 0 评论 -
矩阵的左除和右除
如果A*X=B,则X=A\B,称为左除;如果X*A=B,则X=B/A,称为右除。左除式A\B,相当于inv(A)*B,即A的逆矩阵左乘B;右除式A/B,相当于A*inv(B),即A右乘B的逆矩阵。在“矩阵的左乘和右乘”中,对于两个方阵得到了A*B和B*A。这篇博文练习矩阵的左除和右除。一般情况下,X=A\B是方程A*X =B的解,而X=B/A是方程X*A=B的解。原创 2026-05-30 16:02:56 · 249 阅读 · 0 评论 -
矩阵的左乘和右乘
矩阵左乘是指一个矩阵放在乘号左边去乘另一个矩阵的运算方式,如A*B,可以说成矩阵A左乘矩阵B。反之,一个矩阵放在乘号右边去乘另一个矩阵的运算方式,如B*A,就可以说成矩阵A右乘矩阵B。当然,A*B也可以说成矩阵B右乘矩阵A,B*A也可以说成矩阵B左乘矩阵A。在“矩阵的乘法运算”中,我们已经得出了A*B的结果,这里的矩阵A和矩阵B需满足矩阵相乘的条件,即A矩阵的列数和B矩阵的行数必须相等。由于矩阵的乘法并不是矩阵中两个对应元素的简单相乘,所以即便满足B矩阵的列数和A矩阵的行数相等,B*A和A*B也不相等。原创 2026-05-30 15:20:31 · 250 阅读 · 0 评论 -
矩阵的求幂运算
在“矩阵的乘法运算”中,我们已经知道,矩阵相乘的条件是第一个矩阵的列数和第二个矩阵的行数必须相等,而矩阵求幂相当于矩阵自身相乘,所以要求行数和列数相等,也就是说矩阵的求幂运算只对方阵有意义。矩阵的求幂运算可以通过A^n的方式实现,需要注意的是要和用power(A,n)对每个元素求幂区分开来,后者可用于非方阵,在基数A和指数n都为标量的情况下,类似于计算A.^n。原创 2026-05-28 14:29:19 · 74 阅读 · 0 评论 -
矩阵的乘法运算
矩阵相乘时,将第一个矩阵某行的每个元素,和第二个矩阵某列对应的元素相乘,最后把所有乘积加起来就是相乘所得新矩阵该行该列的元素。如A矩阵第一行和B矩阵第一列对应元素相乘求和所得值,为相乘所得新矩阵的第一行第一列的元素;A矩阵第二行和B矩阵第一列对应元素相乘求和所得值,为相乘所得新矩阵的第二行第一列的元素,……矩阵相乘的条件是第一个矩阵的列数和第二个矩阵的行数必须相等,相乘所得新矩阵的行数由第一个矩阵决定,列数由第二个矩阵决定。比如第一个矩阵为m行n列矩阵,则第二个矩阵行数为n才可以进行乘法运算。原创 2026-05-28 07:58:38 · 104 阅读 · 0 评论 -
矩阵的加减运算
如果两个矩阵的行数、列数都相同,例如均为m行n列矩阵,可以用“+”、“-”对两个矩阵进行加减运算,得到新的矩阵,也为m行n列矩阵,各元素为原有两个矩阵对应元素的和或差。原创 2026-05-27 20:55:59 · 195 阅读 · 0 评论 -
提取矩阵特定多列元素
现有矩阵A,用A1=A(:,[a b c]),或者A1=A(:,[a,b,c]),便可以提取矩阵A中的第a、b、c列元素,构成新的矩阵。在“提取矩阵特定多行元素”中,实现了对矩阵特定多行元素的提取,这篇博文将实现对矩阵特定多列元素的提取。原创 2026-05-27 07:47:58 · 63 阅读 · 0 评论 -
提取矩阵特定多行元素
如果需要提取某些特定行或特定列的元素,则可以采用类似“提取矩阵某一行或某一列元素”的方法,指定具体的多行或多列。这篇博文将实现对矩阵特定多行元素的提取。在“提取矩阵某几行和某几列元素”中,实现了对已有矩阵某几行和某几列元素的提取,所提取的元素位于连续行和连续列。现有矩阵A,用A1=A([a b c],:),便可以提取矩阵A中的第a、b、c行元素,构成新的矩阵。原创 2026-05-27 07:42:57 · 60 阅读 · 0 评论 -
提取矩阵某几行和某几列元素
在“提取矩阵某一行或某一列元素”中,分别用A(i,:)和A(:,j)实现了对已创建矩阵某一行或某一列元素的提取。这篇博文将实现对已有矩阵某几行和某几列元素的提取,构成新的矩阵。现有矩阵A,用A1=A(i1:i2,j1:j2),便可以提取矩阵A中的第i1~i2行元素,和第j1~j2列元素,构成新的矩阵。原创 2026-05-26 20:56:23 · 82 阅读 · 0 评论 -
提取矩阵某一行或某一列元素
现有矩阵A,用A1=A(i,:),便可以提取矩阵A中的第i行元素,用A1=A(:,j),便可以提取矩阵A中的第j列元素。在“提取矩阵所有元素”中,用A1=A(:)实现了对于已创建矩阵所有元素的提取,也可以只提取其中某一行或某一列的元素。原创 2026-05-26 13:03:14 · 172 阅读 · 0 评论 -
提取矩阵所有元素
现有矩阵A,用A1=A(:),便可以依次提取矩阵A中的每一列元素,最终相当于把矩阵A拉伸成一个列向量。对于已创建的矩阵,可以提取其中的元素。原创 2026-05-26 12:54:18 · 62 阅读 · 0 评论 -
创建上三角矩阵和下三角矩阵
在“创建对角矩阵”中得到的对角矩阵是除主对角线以外的元素都为零的矩阵,这篇博文要创建的两类矩阵也有一部分元素为零。先创建一个矩阵A,再用triu(A)和tril(A)即可得到该矩阵的上三角矩阵和下三角矩阵。上三角矩阵的主对角线下方元素全为零,下三角矩阵的主对角线上方元素全为零。原创 2026-05-25 19:28:29 · 56 阅读 · 0 评论 -
创建对角矩阵
在Matlab中,可以通过diag( )函数创建对角矩阵。先创建一个向量A,再用diag(A)转换成对角线元素为该向量的对角矩阵即可。对角矩阵是一种特殊的矩阵,除主对角线以外的元素都为零。在“创建魔方矩阵和单位矩阵”中,用eye( )函数得到的单位矩阵也是对角矩阵。原创 2026-05-25 13:20:36 · 256 阅读 · 0 评论 -
创建魔方矩阵和单位矩阵
用magic( )函数可以创建魔方矩阵,用eye( )函数可以创建单位矩阵。原创 2026-05-25 07:43:00 · 45 阅读 · 0 评论 -
创建随机矩阵
可以创建均匀分布随机矩阵和正态分布随机矩阵,分别通过rand( )函数和randn( )函数创建。原创 2026-05-24 22:38:46 · 187 阅读 · 0 评论 -
创建全0矩阵和全1矩阵
全0矩阵是指元素都为0的矩阵,全1矩阵是指元素都为1的矩阵,分别通过zeros( )函数和ones( )函数创建。原创 2026-05-24 22:36:26 · 174 阅读 · 0 评论 -
用直接输入的方式创建矩阵
某矩阵A的第i行第j列,称为矩阵A的(i,j)元素。元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵,行数与列数相等的矩阵,如都为n,可称为n阶矩阵或n阶方阵。如果矩阵只有一行或一列,则称为行向量或列向量。同一行元素用逗号或空格隔开,行和行之间用分号隔开。Matlab中可以采用直接输入的方式创建矩阵,也可以由函数创建矩阵,这篇博文用直接输入的方式。直接输入创建矩阵的命令格式为:A=[a1,a2,…矩阵是一个由m行n列数据组成的数据集合。表示A为3行2列的矩阵,输出结果为。原创 2026-05-24 08:13:19 · 178 阅读 · 0 评论 -
用while循环语句求和
在“用for循环语句求和”中,学习了for循环语句,这篇博文继续学习另一种形式的循环程序结构while循环语句。如果表达式为真,就执行循环体的内容,执行后再判断表达式是否为真,如果不为真就跳出循环体,继续向下执行。while循环语句一般用于事先不能确定循环次数的情况,格式为。图1 while循环运行结果。运行后输出结果如图1所示。原创 2026-05-23 22:52:09 · 186 阅读 · 0 评论 -
用for循环语句求和
循环变量从起始值开始计数,每循环一次,就执行一次循环体内的语句,执行后,循环变量以一定的规律变化,然后再执行循环体内语句,直到循环变量大于终止值为止。Matlab里面的循环结构语句主要有for循环语句和while循环语句两种形式,这篇博文学习for循环语句。for循环语句一般用于循环次数已经确定的情况,格式为。for 循环变量=起始值:步长:终止值。运行后输出结果如图1所示。图1 for循环运行结果。原创 2026-05-23 22:48:09 · 195 阅读 · 0 评论 -
用if…elseif…end语句输出成绩等级
Matlab里面的if分支结构语句主要有单分支、双分支和多分支结构语句三种形式,前面两篇博文分别学习了单分支结构语句和双分支结构语句,这篇博文列出三种分支结构语句的特点,并对多分支结构语句进行学习。如果逻辑表达式1为真,则执行语句1,如果为假,则判断逻辑表达式2。如果逻辑表达式2为真,如果为假,则继续判断逻辑表达式。如果逻辑表达式为真,则执行语句1,然后跳过语句2,向下执行;如果逻辑表达式为真,则执行语句,如果为假,则跳过语句,向下执行。end语句,属于多分支结构语句,形式为。if 逻辑表达式1。原创 2026-05-23 16:49:24 · 234 阅读 · 0 评论 -
用if…else…end语句计算分段函数
语句计算分段函数”中,分别得到了x=10(逻辑表达式为真)和x=20(逻辑表达式为假)时,程序的运行结果。同样的条件和分段函数表达式,也可以采用if…运行后输出结果和“用if…语句计算分段函数”的运行结果相同。原创 2026-05-22 19:48:20 · 137 阅读 · 0 评论 -
用if…end…语句计算分段函数
这是Matlab基础知识学习专栏中的第31篇,前面的30篇都是有关绘图的内容,这篇试着做做计算,先用if…图1 逻辑表达式为真时的运行结果 图2 逻辑表达式为假时的运行结果。运行后输出结果如图1、图2所示。原创 2026-05-22 19:31:00 · 168 阅读 · 0 评论 -
在Matlab中绘制质点三维运动轨迹图
在“在Matlab中绘制质点运动轨迹图”中,实现了质点二维运动轨迹图的绘制,这篇博文在此基础上,绘制质点三维运动轨迹图,只需要把comet( )函数调整为comet3( )函数即可,当然原有的plot( )函数也需要调整为plot3( )函数。其实不管是二维运动轨迹图,还是三维运动轨迹图,都可以不用plot( )或plot3( )事先画出轨迹线,而是直接用comet( )和comet3( )画出也OK,这篇博文采用直接绘制的方式。运行后得到如图1所示图形。图1 质点三维运动图。原创 2026-05-22 07:54:07 · 161 阅读 · 0 评论 -
在Matlab中绘制质点运动轨迹图
函数生成一个顺着曲线轨迹运动的质点,这个曲线轨迹也称为“彗星轨迹”。整个过程是一个动态的过程,所以有参考书也把这个过程称为质点动画的制作。因为图片显示不出动态过程,所以博文里面表述为“质点运动轨迹图”,这个轨迹图相比普通曲线图,要多出一个小圆圈表示的质点。在Matlab里面,可以用。运行后得到如图1所示图形。图1 质点运动轨迹图。原创 2026-05-21 19:09:04 · 204 阅读 · 0 评论
分享