国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站編程怎么做公司網(wǎng)頁

網(wǎng)站編程,怎么做公司網(wǎng)頁,網(wǎng)頁站點怎么命名,電商數(shù)據(jù)網(wǎng)站有哪些線性代數(shù)算法 一、向量的加減乘除1. 向量加法2. 向量減法3. 向量數(shù)乘4. 向量點積5. 向量叉積 二、矩陣的加減乘除1. 矩陣加法2. 矩陣減法3. 矩陣數(shù)乘4. 矩陣乘法 常用數(shù)學(xué)庫 線性代數(shù)是數(shù)學(xué)的一個分支,用于研究線性方程組及其解的性質(zhì)、向量空間及其變換的性質(zhì)等。在…

線性代數(shù)算法

  • 一、向量的加減乘除
    • 1. 向量加法
    • 2. 向量減法
    • 3. 向量數(shù)乘
    • 4. 向量點積
    • 5. 向量叉積
  • 二、矩陣的加減乘除
    • 1. 矩陣加法
    • 2. 矩陣減法
    • 3. 矩陣數(shù)乘
    • 4. 矩陣乘法
  • 常用數(shù)學(xué)庫

線性代數(shù)是數(shù)學(xué)的一個分支,用于研究線性方程組及其解的性質(zhì)、向量空間及其變換的性質(zhì)等。在計算機(jī)科學(xué)領(lǐng)域中,線性代數(shù)常用于圖形學(xué)、機(jī)器學(xué)習(xí)、計算機(jī)視覺等領(lǐng)域。本文將詳細(xì)介紹 JS 中常用的線性代數(shù)算法,并提供代碼示例。

一、向量的加減乘除

向量是有大小和方向的量,通常用一列數(shù)表示。向量的加減乘除運算也是線性代數(shù)中的基本運算。

1. 向量加法

向量加法計算兩個向量相加的結(jié)果。

例如:給定兩個二維向量:

a ? = [ 1 2 ] , b ? = [ 3 4 ] \vec{a}=\begin{bmatrix} 1 \\ 2 \end{bmatrix},\vec=\begin{bmatrix} 3 \\ 4 \end{bmatrix} a =[12?],b =[34?]

則它們的和為:

a ? + b ? = [ 4 6 ] \vec{a}+\vec=\begin{bmatrix} 4 \\ 6 \end{bmatrix} a +b =[46?]

代碼實現(xiàn):

function addVectors(a, b) {if (a.length !== b.length) return null;return a.map((n, i) => n + b[i]);
}

2. 向量減法

向量減法計算兩個向量相減的結(jié)果。

例如:給定兩個三維向量:

a ? = [ 1 3 2 ] , b ? = [ 4 1 5 ] \vec{a}=\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix},\vec=\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a = ?132? ?,b = ?415? ?

則它們的差為:

a ? ? b ? = [ ? 3 2 ? 3 ] \vec{a}-\vec=\begin{bmatrix} -3 \\ 2 \\ -3 \end{bmatrix} a ?b = ??32?3? ?

代碼實現(xiàn):

function subtractVectors(a, b) {if (a.length !== b.length) return null;return a.map((n, i) => n - b[i]);
}

3. 向量數(shù)乘

向量數(shù)乘是將一個向量的每個元素乘以一個標(biāo)量。

例如:給定一個三維向量:

a ? = [ 1 3 2 ] \vec{a}=\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix} a = ?132? ?

則它乘以標(biāo)量 k = 2 k=2 k=2 的結(jié)果為:

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? ?

代碼實現(xiàn):

function scalarMultiply(vector, scalar) {return vector.map(n => n * scalar);
}

4. 向量點積

向量點積(也稱為內(nèi)積或數(shù)量積)計算兩個向量的乘積的和。

例如:給定兩個三維向量:

a ? = [ 1 3 2 ] , b ? = [ 4 1 5 ] \vec{a}=\begin{bmatrix} 1 \\ 3 \\ 2 \end{bmatrix},\vec=\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a = ?132? ?,b = ?415? ?

則它們的點積為:

a ? ? b ? = 1 × 4 + 3 × 1 + 2 × 5 = 17 \vec{a} \cdot \vec=1 \times 4 + 3 \times 1 + 2 \times 5 = 17 a ?b =1×4+3×1+2×5=17

代碼實現(xiàn):

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=\begin{bmatrix} 4 \\ 1 \\ 5 \end{bmatrix} a = ?132? ?,b = ?415? ?

則它們的叉積為:

a ? × b ? = [ 13 3 ? 11 ] \vec{a} \times \vec=\begin{bmatrix} 13 \\ 3 \\ -11 \end{bmatrix} a ×b = ?133?11? ?

代碼實現(xiàn):

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];
}

二、矩陣的加減乘除

矩陣是由若干行若干列的數(shù)排成的矩形陣列,通常用兩個下標(biāo)表示。矩陣的加減乘除運算也是線性代數(shù)中的基本運算。

1. 矩陣加法

矩陣加法計算兩個矩陣相加的結(jié)果。

例如:給定兩個 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?]

代碼實現(xiàn):

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. 矩陣減法

矩陣減法計算兩個矩陣相減的結(jié)果。

例如:給定兩個 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? ?

代碼實現(xiàn):

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. 矩陣數(shù)乘

矩陣數(shù)乘是將一個矩陣的每個元素乘以一個標(biāo)量。

例如:給定一個 2 × 2 2 \times 2 2×2 的矩陣:

[ 1 3 2 5 ] \begin{bmatrix} 1 & 3 \\ 2 & 5 \end{bmatrix} [12?35?]

則它乘以標(biāo)量 k = 2 k=2 k=2 的結(jié)果為:

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?]

代碼實現(xiàn):

function scalarMultiplyMatrix(matrix, scalar) {return matrix.map(row => row.map(n => n * scalar));
}

4. 矩陣乘法

矩陣乘法計算兩個矩陣相乘的結(jié)果。矩陣乘法滿足結(jié)合律,但不滿足交換律。即 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 結(jié)果矩陣
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;}
}// 輸出結(jié)果
console.log(resultMatrix);

輸出結(jié)果為:

[[58, 64],[139, 154]
]

上述代碼中,我們首先定義了兩個矩陣 matrixAmatrixB,然后定義了一個結(jié)果矩陣 resultMatrix,該矩陣的大小為 2×2。

接下來,我們通過三層循環(huán)實現(xiàn)了矩陣乘法。外層兩個循環(huán)控制結(jié)果矩陣的行列數(shù),內(nèi)層循環(huán)計算結(jié)果矩陣中每個元素的值。

最后,我們輸出了結(jié)果矩陣的值。

常用數(shù)學(xué)庫

在 JavaScript 中實現(xiàn)線性代數(shù)算法需要使用數(shù)學(xué)庫,比如 Math.js 或者 NumJS。

以下是 Math.js 的示例代碼:

// 創(chuàng)建矩陣
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]]// 轉(zhuǎn)置
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]]

以上是一些常見的線性代數(shù)算法的示例代碼。使用數(shù)學(xué)庫可以方便地實現(xiàn)復(fù)雜的線性代數(shù)計算。

http://aloenet.com.cn/news/43412.html

相關(guān)文章:

  • html網(wǎng)站建設(shè)中源代碼免費聊天軟件
  • 北京的網(wǎng)站建設(shè)公司廣州白云區(qū)最新信息
  • 濟(jì)南網(wǎng)站優(yōu)化公司電話評論優(yōu)化
  • 鎮(zhèn)江建工建設(shè)集團(tuán)網(wǎng)站百度搜索量怎么查
  • 一等一網(wǎng)站建設(shè)seo搜索排名優(yōu)化方法
  • 重慶時時彩在線網(wǎng)站制作百度提交收錄
  • 屬于垂直型b2b網(wǎng)站的有青島官網(wǎng)seo
  • 網(wǎng)站推廣策劃書金華百度推廣公司
  • 建設(shè)銀行 成都 招聘網(wǎng)站哈爾濱網(wǎng)絡(luò)seo公司
  • 溫州網(wǎng)站建設(shè)方案維護(hù)訊展網(wǎng)站優(yōu)化推廣
  • 制作網(wǎng)站建設(shè)策劃方案手機(jī)推廣app
  • 做網(wǎng)站每年都要費用的嗎微商引流推廣
  • 網(wǎng)站建設(shè)環(huán)境分析百度推廣一般多少錢
  • 曲阜做網(wǎng)站最佳磁力搜索天堂
  • 2014做網(wǎng)站百度移動端點贊排名軟件
  • 外貿(mào)軟件定制域名查詢seo
  • 做網(wǎng)站排名的公司有哪些最好的營銷策劃公司
  • 聾啞工作設(shè)計做網(wǎng)站免費長尾詞挖掘工具
  • 怎樣做代刷網(wǎng)站百度廣告投放平臺叫什么
  • 電子類網(wǎng)站模板昆明百度推廣開戶費用
  • 廣州做網(wǎng)站多百度小說排行榜前十名
  • wordpress的列表汕頭seo公司
  • 西安定制網(wǎng)站建設(shè)中國知名網(wǎng)站排行榜
  • 四川疫情最新消息2019網(wǎng)站推廣優(yōu)化技巧
  • 如何做網(wǎng)站大管家如何優(yōu)化推廣網(wǎng)站
  • 陜西西安網(wǎng)站建設(shè)公司排名重慶seo排名技術(shù)
  • 無錫做網(wǎng)站哪里好成都全網(wǎng)營銷推廣
  • 織夢做電子商務(wù)網(wǎng)站小紅書seo排名帝搜軟件
  • 什么是網(wǎng)站建設(shè)和維護(hù)廈門seo小謝
  • 成功營銷案例免費seo營銷優(yōu)化軟件下載