当前位置: 首页 > news >正文

快站app下载凡客帆布鞋

快站app下载,凡客帆布鞋,响应式网站模版建站,网页设计实训内容及过程线性代数算法 一、向量的加减乘除1. 向量加法2. 向量减法3. 向量数乘4. 向量点积5. 向量叉积 二、矩阵的加减乘除1. 矩阵加法2. 矩阵减法3. 矩阵数乘4. 矩阵乘法 常用数学库 线性代数是数学的一个分支#xff0c;用于研究线性方程组及其解的性质、向量空间及其变换的性质等。在… 线性代数算法 一、向量的加减乘除1. 向量加法2. 向量减法3. 向量数乘4. 向量点积5. 向量叉积 二、矩阵的加减乘除1. 矩阵加法2. 矩阵减法3. 矩阵数乘4. 矩阵乘法 常用数学库 线性代数是数学的一个分支用于研究线性方程组及其解的性质、向量空间及其变换的性质等。在计算机科学领域中线性代数常用于图形学、机器学习、计算机视觉等领域。本文将详细介绍 JS 中常用的线性代数算法并提供代码示例。 一、向量的加减乘除 向量是有大小和方向的量通常用一列数表示。向量的加减乘除运算也是线性代数中的基本运算。 1. 向量加法 向量加法计算两个向量相加的结果。 例如给定两个二维向量 a ⃗ [ 1 2 ] , b ⃗ [ 3 4 ] \vec{a}\begin{bmatrix} 1 \\ 2 \end{bmatrix},\vec{b}\begin{bmatrix} 3 \\ 4 \end{bmatrix} a [12​],b [34​] 则它们的和为 a ⃗ b ⃗ [ 4 6 ] \vec{a}\vec{b}\begin{bmatrix} 4 \\ 6 \end{bmatrix} a b [46​] 代码实现 function addVectors(a, b) {if (a.length ! b.length) return null;return a.map((n, i) n b[i]); }2. 向量减法 向量减法计算两个向量相减的结果。 例如给定两个三维向量 a ⃗ [ 1 3 2 ] , b ⃗ [ 4 1 5 ] \vec{a}\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix},\vec{b}\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a ​132​ ​,b ​415​ ​ 则它们的差为 a ⃗ − b ⃗ [ − 3 2 − 3 ] \vec{a}-\vec{b}\begin{bmatrix} -3 \\ 2 \\ -3 \end{bmatrix} a −b ​−32−3​ ​ 代码实现 function subtractVectors(a, b) {if (a.length ! b.length) return null;return a.map((n, i) n - b[i]); }3. 向量数乘 向量数乘是将一个向量的每个元素乘以一个标量。 例如给定一个三维向量 a ⃗ [ 1 3 2 ] \vec{a}\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix} a ​132​ ​ 则它乘以标量 k 2 k2 k2 的结果为 k a ⃗ 2 [ 1 3 2 ] [ 2 6 4 ] k \vec{a}2\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix}\begin{bmatrix} 2 \\ 6 \\ 4 \end{bmatrix} ka 2 ​132​ ​ ​264​ ​ 代码实现 function scalarMultiply(vector, scalar) {return vector.map(n n * scalar); }4. 向量点积 向量点积也称为内积或数量积计算两个向量的乘积的和。 例如给定两个三维向量 a ⃗ [ 1 3 2 ] , b ⃗ [ 4 1 5 ] \vec{a}\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix},\vec{b}\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a ​132​ ​,b ​415​ ​ 则它们的点积为 a ⃗ ⋅ b ⃗ 1 × 4 3 × 1 2 × 5 17 \vec{a} \cdot \vec{b}1 \times 4 3 \times 1 2 \times 5 17 a ⋅b 1×43×12×517 代码实现 function dotProduct(a, b) {if (a.length ! b.length) return null;return a.reduce((sum, n, i) sum n * b[i], 0); }5. 向量叉积 向量叉积也称为外积或向量积计算两个向量的垂直于它们所在平面的法向量。向量叉积只适用于三维向量。 例如给定两个三维向量 a ⃗ [ 1 3 2 ] , b ⃗ [ 4 1 5 ] \vec{a}\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix},\vec{b}\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a ​132​ ​,b ​415​ ​ 则它们的叉积为 a ⃗ × b ⃗ [ 13 3 − 11 ] \vec{a} \times \vec{b}\begin{bmatrix} 13 \\ 3 \\ -11 \end{bmatrix} a ×b ​133−11​ ​ 代码实现 function crossProduct(a, b) {if (a.length ! 3 || b.length ! 3) return null;const [ax, ay, az] a;const [bx, by, bz] b;return [ay * bz - az * by, az * bx - ax * bz, ax * by - ay * bx]; }二、矩阵的加减乘除 矩阵是由若干行若干列的数排成的矩形阵列通常用两个下标表示。矩阵的加减乘除运算也是线性代数中的基本运算。 1. 矩阵加法 矩阵加法计算两个矩阵相加的结果。 例如给定两个 2 × 2 2 \times 2 2×2 的矩阵 [ 1 2 3 4 ] , [ 5 6 7 8 ] \begin{bmatrix} 1 2 \\ 3 4 \end{bmatrix} , \begin{bmatrix} 5 6 \\ 7 8 \end{bmatrix} [13​24​],[57​68​] 则它们的和为 [ 6 8 10 12 ] \begin{bmatrix} 6 8 \\ 10 12 \end{bmatrix} [610​812​] 代码实现 function addMatrices(a, b) {if (a.length ! b.length || a[0].length ! b[0].length) return null;return a.map((row, i) row.map((n, j) n b[i][j])); }2. 矩阵减法 矩阵减法计算两个矩阵相减的结果。 例如给定两个 3 × 3 3 \times 3 3×3 的矩阵 [ 1 3 2 4 8 5 6 1 2 ] , [ 2 1 5 3 6 4 1 7 3 ] \begin{bmatrix} 1 3 2 \\ 4 8 5 \\ 6 1 2 \end{bmatrix} , \begin{bmatrix} 2 1 5 \\ 3 6 4 \\ 1 7 3 \end{bmatrix} ​146​381​252​ ​, ​231​167​543​ ​ 则它们的差为 [ − 1 2 − 3 1 2 1 5 − 6 − 1 ] \begin{bmatrix} -1 2 -3 \\ 1 2 1 \\ 5 -6 -1 \end{bmatrix} ​−115​22−6​−31−1​ ​ 代码实现 function subtractMatrices(a, b) {if (a.length ! b.length || a[0].length ! b[0].length) return null;return a.map((row, i) row.map((n, j) n - b[i][j])); }3. 矩阵数乘 矩阵数乘是将一个矩阵的每个元素乘以一个标量。 例如给定一个 2 × 2 2 \times 2 2×2 的矩阵 [ 1 3 2 5 ] \begin{bmatrix} 1 3 \\ 2 5 \end{bmatrix} [12​35​] 则它乘以标量 k 2 k2 k2 的结果为 2 × [ 1 3 2 5 ] [ 2 6 4 10 ] 2 \times \begin{bmatrix} 1 3 \\ 2 5 \end{bmatrix}\begin{bmatrix} 2 6 \\ 4 10 \end{bmatrix} 2×[12​35​][24​610​] 代码实现 function scalarMultiplyMatrix(matrix, scalar) {return matrix.map(row row.map(n n * scalar)); }4. 矩阵乘法 矩阵乘法计算两个矩阵相乘的结果。矩阵乘法满足结合律但不满足交换律。即 A × B ≠ B × A A \times B \neq B \times A A×BB×A。 例如给定两个 2 × 3 2 \times 3 2×3 和 3 × 2 3 \times 2 3×2 的矩阵 [ 1 2 3 4 5 6 ] , [ 7 8 9 10 11 12 ] \begin{bmatrix} 1 2 3 \\ 4 5 6 \end{bmatrix} , \begin{bmatrix} 7 8 \\ 9 10 \\ 11 12\end{bmatrix} [14​25​36​], ​7911​81012​ ​ 以下是两个 2×3 和 3×2 矩阵的乘法的 JavaScript 代码示例 // 2x3 矩阵 const matrixA [[1, 2, 3],[4, 5, 6] ];// 3x2 矩阵 const matrixB [[7, 8],[9, 10],[11, 12] ];// 2x2 结果矩阵 const resultMatrix [[0, 0],[0, 0] ];// 矩阵乘法 for (let i 0; i 2; i) {for (let j 0; j 2; j) {let sum 0;for (let k 0; k 3; k) {sum matrixA[i][k] * matrixB[k][j];}resultMatrix[i][j] sum;} }// 输出结果 console.log(resultMatrix);输出结果为 [[58, 64],[139, 154] ]上述代码中我们首先定义了两个矩阵 matrixA 和 matrixB然后定义了一个结果矩阵 resultMatrix该矩阵的大小为 2×2。 接下来我们通过三层循环实现了矩阵乘法。外层两个循环控制结果矩阵的行列数内层循环计算结果矩阵中每个元素的值。 最后我们输出了结果矩阵的值。 常用数学库 在 JavaScript 中实现线性代数算法需要使用数学库比如 Math.js 或者 NumJS。 以下是 Math.js 的示例代码 // 创建矩阵 const matrix1 math.matrix([[1, 2], [3, 4]]); const matrix2 math.matrix([[5, 6], [7, 8]]);// 加法 const addResult math.add(matrix1, matrix2); console.log(addResult); // 输出 [[6, 8], [10, 12]]// 矩阵乘法 const multiplyResult math.multiply(matrix1, matrix2); console.log(multiplyResult); // 输出 [[19, 22], [43, 50]]// 转置 const transposeResult math.transpose(matrix1); console.log(transposeResult); // 输出 [[1, 3], [2, 4]]// 求逆矩阵 const inverseResult math.inv(matrix1); console.log(inverseResult); // 输出 [[-2, 1], [1.5, -0.5]]以上是一些常见的线性代数算法的示例代码。使用数学库可以方便地实现复杂的线性代数计算。
http://www.ho-use.cn/article/10822783.html

相关文章:

  • 做的比较好的返利网站知乎wordpress 文章公开编辑
  • 中国企业网官方网站查询可以在哪些网站做翻译兼职
  • 做网站新手流程网站权重怎么看
  • 前几年很火的网站建设公司广州高档网站建设
  • 怎样做展示型网站常州制作网站价格
  • 福建省建设厅网站投诉公众号开发信息开发者密码是什么
  • 校园网站平台建设郑州信息网平台
  • 江苏工信部网站备案查询白城网站开发
  • 怎样 建设电子商务网站sem推广代运营
  • 做网站的软件图标机构类网站有哪些
  • 衡水企业网站设计报价正能量网站下载
  • 男男互做网站泰国小网站下载渠道有哪些
  • 网站数据丢失了做数据恢复需多久学习网站建设网站
  • 深圳网站开发公司有哪些wordpress写博客流行吗
  • 网站开发专业公司有哪些龙岗高端网站建设
  • 淄博网站设计方案短剧推广平台app
  • 江山市建设局网站本地主机 搭建网站
  • 想开民宿自己怎么做介绍的网站微信营销软件破解版
  • 钦州市网站建设嘉兴制作手机网站
  • 做后台财务系统网站网络公司可以做哪些业务
  • 新手做自己的网站小程序推广怎么赚钱
  • 网站注册wordpress京东客系统
  • 嘉兴门户网站企业 网站 程序
  • 网站制作代码大全最简单的做网站的工具
  • 企业网站实名认证时间榆次建设局网站
  • wordpress会员制网站天眼查个人查询入口
  • 网站改版公司哪家好该如何选择深圳网站建设公司
  • 深圳网站建设高端湖北省建设主管网站
  • 网站浏览器兼容问题东莞一站式网站建设
  • 做网站多大上行速度山东建设银行招聘网站