matlab中的向量除法
举个例子: [2 4]/[1 2]=2。很显然,当两个向量中对应的每一组元素都有固定的比值时,答案很简单,就等于任一组对应元素之比。但若两个向量中对应的元素之比并不是都相等时,除出来的结果等于多少呢?例如: [2 5] / [1 2] = ? 不论哪个常数 x 都不能使得 [2 5] = x * [1 2] 成立。那此时的矩阵(向量)除法还有没意义呢?有意义!在很多时候,我们测得了两组向量数据,并且知道它们之间满足一个固定的倍数关系,具体的比值需要我们去求,但由于各种原因,数据存在测量误差,每一组数据的比值又都不一样,只能选一个比较合适的比值,使得其中一个向量乘上这个比值后与另一个向量尽量相等(两个向量中对应的元素尽量相等,全部相等是不可能的)。怎样才叫尽量相等呢?我们一般喜欢用误差的最小平方和来表示,以 [2 5] / [1 2] 为例,即求一个常量x,使得
(2 - x * 1)^2 + (5 - x * 2)^2
最小。
于是,一个向量间的除法问题,转化为了一个求单变量2次函数的最小值问题,求极值很简单,对函数求导再令其等于0就OK了。更一般地,我们考虑求如下两个向量的除法问题:
A=[A1 A2 ………… An ], B=[B1 B2 ………… Bn ]
求x,使得f(x)=(A1 - x * B1)^2 + (A2 - x * B2)^2 …… + (An - x * Bn)^2 最小。
解:对f求导得:
f'(x)=2(A1-x * B1) * (-B1) + 2(A2-x * B2) * (-B2) …… + 2(An-x * Bn) * (-Bn)
=-2A1 * B1 + B1^2 * x - 2A2* B2 + B2^2 * x …… -2An * Bn + Bn^2 * x
=-2(A1 * B1 + A2 * B2 ……+ An * Bn) + 2(B1^2 + B2^2 …… + Bn^2)x
令f'(x)=0,对x求解可得到:
x= (A1 * B1 + A2 * B2 ……+ An * Bn) / (B1^2 + B2^2 …… + Bn^2)
用matlab的语句表示出来,也就是x=sum(A.*B)/sum(B.^2)
例如,在matlab中运行:
A=[ 2 5 ];
B=[ 1 2 ];
A/B
ans=
2.4000
matlab中的向量除法相关推荐
- matlab中零向量,在MATLAB中的向量中的非零元素之间插入可变数量的零
有几种方法我可以想到: Kronecker产品 克罗内克产品非常适合这种情况 . 在Matlab中, kron 是您正在寻找的: a = 1:4; a = kron(a, [1 0 0]) ans = ...
- MATLAB中的乘除法 “ * ” 和 “ .* ” and “ / ” 和 “ ./ ”
1.* 和 .* 的区别 (1)* 就是通常我们在线性代数中使用的矩阵乘法的符号,设A是m*n矩阵,B是n*t矩阵,则A*B是m*t矩阵(A*B只要求A的列数=B的行数). 举例: 则: (2 ...
- MATLAB中三维向量的绘制以及坐标点的推算(quiver3,quiver,plot3,plot)
我在完成作业时需要绘制如下图形: 其中涉及到三维图形中向量的绘制,向量大小的推算,坐标原点的推算,三维中两点连线的绘制以及如何将向量归一化的问题. 一个一个来解答: 向量大小的推算 如何将向量归一化 ...
- MATLAB中:左右除法、逆inv、广义逆pinv的区别
以下是通过实验得出的一些结论: 左除行相等,右除列相等.只要满足此条件便可运算,且左.右除意义不相同! 逆inv()仅针对"非奇异方阵|A|≠0",使得A^(-1) A=A ...
- matlab去除向量的重复点,在Matlab中重复向量的最有效方法
如果起始向量很长或者重复次数足够大(见下文),则底线 bsxfun比你要求的更快,否则矩阵乘法更有效.在两者之间,你已经问过它看起来像矩阵乘法重塑在效率上比在repmat中高出约3倍.我已经按照以下方 ...
- matlab里矩阵相除,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- matlab如何矩阵相除,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- matlab 矩阵除法计算,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
- matlab中数字除以矩阵,Matlab中的矩阵除法有问题???
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 x=rand(5) x = 0.5470 0.1835 0.9294 0.3063 0.6443 0.2963 0.3685 ...
最新文章
- 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入
- webpack 之 code spliting
- LeetCode_700.二叉搜索树中的搜索
- yum安装nginx的负载均衡详解
- 数据库修复Part1:创建自己的测试corrupt数据库
- mysql isam cache_Mysql性能优化基础篇
- 一 在应用中升级u-boot、内核以及文件系统
- ngRx 官方示例分析 - 4.pages
- java home bin java home jre bin_Tomcat 启动找不到配置好的 $JAVA_HOME和$JRE_HOME 变量?
- c/c++ 数组和指针
- 【CF1152F】Neko Rules the Catniverse(动态规划)
- Windows XP增强dos命令
- 外贸业务员询盘处理方法技巧 Google开发客户方法找网址和邮箱
- Linux ubuntu14.04 下 chromium 浏览器 CPU占用资源优化
- 【JVM系列3】方法重载和方法重写原理分析,看完这篇终于彻底搞懂了
- R 语言 4.2.2安装 WGCNA
- 解决Hexo博客引用网络图片无法显示的问题
- 第三次经济大洗牌,你是否抓得住
- 电信物联卡发展面临哪些难题?
- 游族网络xStarRocks:高效助力数据查询,灵活应对多维分析