matlab中的运算符号_matlab中点乘和乘的区别

matlab中的运算符号_matlab中点乘和乘的区别第3章 3.4.2 算术运算(MATLAB入门课程)讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。MATLAB的基本算术运算符有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)和’(转置),下面我们分别进行介绍。首先是矩阵

第3章 3.4.2 算术运算(MATLAB入门课程)   讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。
matlab中的运算符号_matlab中点乘和乘的区别   MATLAB的基本算术运算符有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)和’(转置),下面我们分别进行介绍。   首先是矩阵的加法。在线性代数中,只有两个大小完全相同的矩阵才可以进行相加运算,而在MATLAB中,只要两个矩阵的大小兼容,就能够进行计算。   以矩阵的加法为例,下表我们给出了MATLAB支持的五种算术运算的兼容模式:
matlab中的运算符号_matlab中点乘和乘的区别   事实上,执行加法运算时,MATLAB会将大小兼容的矩阵隐式扩展为相同的大小,然后再将对应位置的素相加,这种计算方式在MATLAB中称为“按对应位置的素运算”。我们在上一节介绍的min函数和max函数在计算两个矩阵对应位置素的最小值和最大值时也支持上表五种模式。   类似的,矩阵的减法也支持上表五种兼容模式,其计算方式也是“按对应位置的素运算”,我们看下面的例子:
matlab中的运算符号_matlab中点乘和乘的区别   矩阵的乘法则有所不同,在MATLAB中,矩阵的乘法分为两种:第一种是线性代数中定义的矩阵的乘法,使用的运算符号是乘号“*”,例如矩阵A*B,矩阵的乘法必须要满足前面矩阵A的列数和后面矩阵B的行数相等;第二种是按对应位置的素相乘,我们需要使用运算符号点乘“.*”,例如A.*B,此时A和B的大小只需要满足上方表格介绍的五种兼容模式。特别地,如果一个矩阵和标量(常数)相乘,那么使用乘号“*”和点乘“.*”得到的结果相同。
matlab中的运算符号_matlab中点乘和乘的区别   下面我们再来介绍矩阵的除法。事实上,在我们学的线性代数中,矩阵并不支持除法的运算,但MATLAB中定义了矩阵除法的计算规则。   在MATLAB中,除号有两种,分别是 / (右除)和 (左除),命令“x = B/A”表示对线性方程组x*A = B求解x;命令“x = AB”则表示对线性方程组A*x = B求解x。这两个符号使用频率很低,大家不需要强记,需要用时查询即可。   我们平时使用更多的是对矩阵进行点除的操作,即将两个矩阵按对应位置的素做除法。其中命令“Ahttps://www.bilibili.com/read/B”表示用A的每个素除以B的对应素,A和B的大小必须兼容;命令“A.B”则表示用B的每个素除以A的对应素,这个用法不太符合我们的习惯。因此,大家只需要掌握“Ahttps://www.bilibili.com/read/B”的用法即可。
matlab中的运算符号_matlab中点乘和乘的区别   特别地,如果B是标量,那么Ahttps://www.bilibili.com/read/B的结果和A/B的结果相同。   矩阵的乘方也有两种用法,分别是“^”和“.^”。   其中,“^”表示矩阵的幂运算,例如A是一个方阵,那么A ^ 3等价于A*A*A;“.^”表示对矩阵中的每一个素分别进行乘方计算,例如A .^ 0.5表示对矩阵A中的每一个素开根号,等价于sqrt(A)。
matlab中的运算符号_matlab中点乘和乘的区别   特别地,如果A是一个可逆的方阵,那么A^(-1)可用来计算A的逆矩阵(inverse matrix)。另外,MATLAB中的inv函数也可以计算逆矩阵,它们的计算结果相同。
matlab中的运算符号_matlab中点乘和乘的区别   根据线性代数中逆矩阵的定义,互为逆矩阵的两个矩阵的乘积为单位矩阵(主对角线为1,其余位置为0的方阵),我们通过上表的第三行代码验证了这一点。注意:由于浮点数运算的误差,计算结果中的素可能和0或1有微小的差异,我们使用format long g命令显示更多的小数点:
matlab中的运算符号_matlab中点乘和乘的区别   例如第一行第二个素,理论上应为0,但MATLAB计算结果约为
1.776%C3%9710%5E%7B-15%7D。   最后我们再来介绍矩阵的转置运算,矩阵的转置符号为英文的单引号:“ ’ ”,它也可以在前面加上点变成“ .’ ”,两者的区别在于对矩阵中复数的处理,使用“ ’ ”会在转置的同时将复数变为共轭复数(实部不变虚部反号),使用“.’”则会保持原来的复数。
matlab中的运算符号_matlab中点乘和乘的区别   当然,通常情况下我们的矩阵中全是实数,那么使用“ ’ ”和“ .’ ”的效果相同。   学完了矩阵的算术运算后,我们来做一些练习。   (1)计算用来评价预测效果好坏的一些指标   假设真实值是向量
y%3D%5Cleft%5B%20y_1%2Cy_2%2C%5Ccdots%20%2Cy_n%20%5Cright%5D%20,拟合值或预测值是向量
%5Chat%7By%7D%3D%5Cleft%5B%20%5Chat%7By%7D_1%2C%5Chat%7By%7D_2%2C%5Ccdots%20%2C%5Chat%7By%7D_n%20%5Cright%5D%20   SSE: 误差(或残差)平方和(Sum of Squares due to Error)   
SSE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft(%20y_i-%5Chat%7By%7D_i%20%5Cright)%20%5E2%7D   范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。   它的量纲是原来数据量纲的平方。   MSE: 均方误差(Mean Square Error)   
MSE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft(%20y_i-%5Chat%7By%7D_i%20%5Cright)%20%5E2%7D   就是SSE除了一个n   范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。   它的量纲是原来数据量纲的平方。   RMSE: 均方根误差(Root Mean Square Error)   
RMSE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Csqrt%7B%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft(%20y_i-%5Chat%7By%7D_i%20%5Cright)%20%5E2%7D%7D   就是MSE加了个根号   范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。   它的量纲和原来数据的量纲相同。   MAE: 平均绝对误差(Mean Absolute Error)   
MAE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft%7C%20y_i-%5Chat%7By%7D_i%20%5Cright%7C%7D   范围[0,+∞),当预测值与真实值完全吻合时等于0。误差越大,该值越大。   它的量纲和原来数据的量纲相同。   MAPE: 平均绝对百分比误差(Mean Absolute Percentage Error)   
MAPE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft%7C%20%5Cfrac%7By_i-%5Chat%7By%7D_i%7D%7By_i%7D%20%5Cright%7C%7D   该公式通常将值乘以100,以百分比形式表示数字。   范围[0,+∞),当预测值与真实值完全吻合时等于0。   可以看到,MAPE跟MAE很像,就是多了个分母。   注意:当真实值有数据等于0时,存在分母为0的问题,该公式不可用!   SMAPE: 对称平均绝对百分比误差(Symmetric Mean Absolute Percentage Error)   
SMAPE%5C%2C%5C%2C%3D%5C%2C%5C%2C%5Cfrac%7B100%5C%25%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7B%5Cfrac%7B%5Cleft%7C%20y_i-%5Chat%7By%7D_i%20%5Cright%7C%7D%7B%5Cleft(%20%5Cleft%7C%20y_i%20%5Cright%7C%2B%5Cleft%7C%20%5Chat%7By%7D_i%20%5Cright%7C%20%5Cright)%20%2F2%7D%7D%0A   它的范围是0%到200%,当预测值与真实值完全吻合时等于0。   注:有些地方定义的SMAPE的分母没有加绝对值,这时候SMAPE可能为负数。   R方: 决定系数(Coefficient of determination)   
R%5E2%3D1-%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft(%20y_i-%5Chat%7By%7D_i%20%5Cright)%20%5E2%7D%7D%7B%5Csum_%7Bi%3D1%7D%5En%7B%5Cleft(%20y_i-%5Cbar%7By%7D%20%5Cright)%20%5E2%7D%7D%2C%20%5Ctext%7B%E5%BC%8F%E4%B8%AD%7D%5Cbar%7By%7D%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5En%7By_i%7D%0A   拓展:   
R%5E2:决定系数、可决系数、R方、拟合优度(Coefficient of determination)   注意:如果使用的是线性回归模型,那么下面两种计算R方的公式都可以使用,且此时R方的范围是[0,1]   
R%5E2%3D1-%5Cfrac%7B%5Csum%7B%5Cleft(%20y-%5Chat%7By%7D%20%5Cright)%20%5E2%7D%7D%7B%5Csum%7B%5Cleft(%20y-%5Cbar%7By%7D%20%5Cright)%20%5E2%7D%7D%0A%5C%5C%0AR%5E2%3D%5Cfrac%7B%5Csum%7B%5Cleft(%20%5Chat%7By%7D-%5Cbar%7By%7D%20%5Cright)%20%5E2%7D%7D%7B%5Csum%7B%5Cleft(%20y-%5Cbar%7By%7D%20%5Cright)%20%5E2%7D%7D%20%5C%5C%0A%E5%BC%8F%E4%B8%AD%5Cbar%7By%7D%20%E6%98%AFy%E7%9A%84%E5%9D%87%E5%80%BC   如果使用的是非线性回归模型,那么R方使用的是第一种定义方法!   且此时R方的范围是(-∞,1].   (线性回归中,两种方法算出来的R方一定相等。非线性回归中只能使用第一种方法计算,第二种算出来的结果是错的!)   (2)计算优化算法中常见的测试函数(假设公式中的x向量为1:10)   Sphere   Rastrigin   Griewank   Rosenbrock
matlab中的运算符号_matlab中点乘和乘的区别   参考答案如下:不熟练的同学请看配套的视频讲解,视频中讲解的很详细:   
matlab中的运算符号_matlab中点乘和乘的区别   下一篇文章:   
matlab中的运算符号_matlab中点乘和乘的区别   更多文章可下方合辑:   MATLAB教程合辑

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/79788.html

(0)
上一篇 2024年 8月 2日 下午7:26
下一篇 2024年 8月 2日 下午7:32

相关推荐

关注微信