javascript - Javascript mathJS 向量乘法不能按预期工作
问题描述
我正在尝试使用 mathJS 包执行向量和矩阵运算。
我有一个向量,我想通过乘以它的转置将它变成一个矩阵。
预期的结果是
a = [1 1 1], [1x3] vector
a^T = [1 1 1]^T, [3,1] vector
[1, 1, 1]
a^T * a = [1, 1, 1]
[1, 1, 1]
出于某种原因,我在 javascript 中构造列向量时遇到问题,因为
const test1 = math.multiply(math.transpose([1, 1, 1]), [1, 1, 1]);
const test2 = math.multiply([1, 1, 1], math.transpose([1, 1, 1]));
test1 和 test2 都返回 3。我错过了什么?
解决方案
你错过了括号。
const test1 = math.multiply(math.transpose([[1, 1, 1]]), [[1, 1, 1]]);
的尺寸[1, 1, 1]
是 1,但对于[[1, 1, 1]]
,它是 1x3。
推荐阅读
- c++ - 绑定右键单击Qt应用程序
- c++ - 使用 libarchive 将 gzip 文件解压缩到内存
- ios - 如何在目标 c 中配置 web 视图滚动?
- dart - 热重载后显示的值,但单击后为空
- jmeter - 在我的 JMeter 结果中创建了重复的 HTTP 请求文件
- ios - 如何在Objective c中删除此警告重新定义方法?
- xaml - 在 UWP 中的后按时停止视频的问题
- r - 如何在 gWidgets2tcltk 中检索复选框状态(在 gWidgets2RGtk2 中工作)
- javascript - 在 Javascript 中解析 Django DateTimeField
- python - 如何在 OpenCV 中构造二值图像的水平投影