Matlab Mathematica 向量(行,列) 矩阵
Matlab:
矩阵用方括号[]表示,元素之间用”,” 或者 空格 隔开,行与行之间用分号“;”隔开:
mat = [1 2 3 4;4 5 6 7
]
或者
mat = [1,2,3,4;4,5,6,7
]
行向量:
row = [1 2 3 4]
列向量(行向量的转置):
column = [1 2 3 4]'
获得矩阵或者向量中的元素用小括号 ():
v = [1 2 3 5];
x = v(1);
x = v(1:4); %获得从第一个到第四个元素得到一个行向量mat = [
1 2 3;
4 5 6
];
x = mat(1,2); %第一行第二列元素
row = mat(1,:); %第一行的所有元素
注意:mat中不存在临时变量,所以下列代码会报错:
v1 = [1 2 3];
v2 = [4 5 6];
x = (v2-v1)(1); %出错,必须使用一个变量保存 v2-v1 然后再取该变量的值
Mathematica
Here is a sample matrix and vector:
mat = Array[a, {3, 3}]
{{a[1, 1], a[1, 2], a[1, 3]}, // 矩阵的第一行{a[2, 1], a[2, 2], a[2, 3]}, // 矩阵的第二行{a[3, 1], a[3,2],a[3, 3]} // 矩阵的第三行}
// 既不是行向量也不是列向量,为一个列表
vec = {1, 2, 3};
vec is neither a row vector nor a column vector. It is just a vector.
Mathematica treats it properly by context. Here it is treated as a column
vector in the usual textbook representation.
// 这里把列表当做一个列向量,因为其在矩阵右侧
mat.vec // 乘
{ a[1, 1] + 2 a[1, 2] + 3 a[1, 3], a[2, 1] + 2 a[2, 2] + 3a[2, 3] }
But if we put the vector before the matrix, Mathematica treats it as a row
vector.
// 这里把列表当做一个行向量,因为其放在矩阵左侧
vec.mat // 乘
{a[1, 1] + 2 a[2, 1] + 3 a[3, 1], a[1, 2] + 2 a[2, 2] + 3 a[3, 2],a[1, 3] + 2 a[2, 3] + 3 a[3, 3]
}
If we want the dot product of the vector with itself, we just write…
// 点乘
vec.vec
14
If we want to convert the vector to a one row matrix we write…
// 显示将一个列表转成一个行向量(也就是单行的矩阵)
{vec}
{{1, 2, 3}}
If we want to convert the vector to a one column matrix we write…
// 转置,变为列向量(单列的矩阵)
Transpose[{vec}]
{{1}, {2}, {3}}
We could use matrix multiplication on these to generate a 3x3 matrix.
// 列向量乘以行向量得到一个矩阵
Transpose[{vec}].{vec}
{{1, 2, 3}, {2, 4, 6}, {3, 6, 9}}
Or obtain the dot product, in a rather silly way, as a 1x1 matrix.
// 行向量乘以列向量得到一个值(也就是单行单列的矩阵?)
{vec}.Transpose[{vec}]
{{14}}
在Mathematica中 “.” 为矩阵或者向量相乘,不是“*”,还有,要获得矩阵乘积为一个矩阵如 C=A.B 则不能在之前加//MatrixForm,否则结果为 A.B 的形式而不是 矩阵C,因为MatrixForm优先级高,会改变矩阵的显示格式。
- v0加了MatrixForm,所以导致v1的结果表示为两个矩阵相乘:
- 去掉v0处的MatrixForm,得到计算结果:
- “*”类似matlab中的
.*
,即每个元素对应相乘:
在行尾加上分号“;”可以抑制显示,这点跟matlab一样。
矩阵(或者列表)操作:
m[[i,j]] // 第i,j个元素
m[[i]] // 第i行
m[[All,i]] // 第i列
Take[m,{i0,i1},{j0,j1}] // 第i0行到第j0行、第i1列到第j1列构成的子阵
m[[i0;;i1,j0;;j1]] // 第i0行到第i1行、第j0列到第j1列构成的子阵
m[[{i1,…,ir}, {j1, … , js}]] // 行标为ik、列标为jk的元素构成的 r×s 子阵
Tr[m,List] // 对角线上的元素
ArrayRules[m] // 非零元素的位置
Matlab Mathematica 向量(行,列) 矩阵相关推荐
- matlab 行 列表示,Matlab Mathematica 向量(行,列) 矩阵
Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [ 1 2 3 4; 4 5 6 7 ] 或 ...
- matlab把向量转化为矩阵,MATLAB小函数:将列向量转化为0-1矩阵
MATLAB小函数:将列向量转化为0-1矩阵 将列向量转化为0-1矩阵,例如 A = 1 2 1 5 3 4 1 4 3 转换为: B = 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 ...
- matlab采用向量作为标号赋值的实质是同维矩阵的赋值
matlab采用向量作为标号赋值的实质是完全相同维度矩阵的赋值 clear all;clc;close all; data=zeros(3,3); disp("初始矩阵:"); d ...
- python矩阵乘法 点乘_Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Tensorflow二维.三维.四维矩阵运算(矩阵相乘,点乘,行/列累加) 1. 矩阵相乘 根据矩阵相乘的匹配原则,左乘矩阵的列数要等于右乘矩阵的行数. 在多维(三维.四维)矩阵的相乘中,需要最后两维 ...
- Matlab如何删除矩阵中的零元素,重新整理不等行的矩阵
现在我有的是一个50行,1832列的矩阵,但是其每一列上有效的数字并不多,且不相等,其余都是没用的0元素.那么如何删除矩阵中的零元素,重新整理不等行的矩阵?先上结论. 结论:最方便的还是转化成Cell ...
- matlab max与min获取矩阵最大最小值函数
1.matlab中Max的用法1(Min类似) Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A) 1)返回一个数组各不同维中的最大元素. 2)如果A是一个向量,max(A) ...
- matlab 全1矩阵,matlab全为1的矩阵
生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) 生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n) 生成一个主对角线全为 1 的 m 行 n 列 ...
- Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测...
原文链接:http://tecdat.cn/?p=27246 此示例说明如何从 VEC( q ) 模型生成 Monte Carlo 预测.该示例将生成的预测与最小均方误差 (MMSE) 预测和来自V ...
- MATLAB中出现 索引超出矩阵维度,程序用matlab运行显示索引超出矩阵维度,请问怎么...
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:程序用matlab运行显示索引超出矩阵维度,请问怎么改?回答:用size函数可以求矩阵维数,用reshape可以改变数据维数. 如: ...
最新文章
- LeetCode刷题-8
- python能做什么游戏ll-一个简单的python game游戏
- 【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
- 深入理解分布式技术 - 分布式锁的应用场景和主流方案
- 50个运维必会的常识和操作
- frp后台运行和停止
- 算法:图(Graph)的遍历、最小生成树和拓扑排序
- 论文总结(negFIN: An efficient algorithm for fast mining frequent itemsets)
- 加载elementor时出现问题_不锈钢管在焊接时出现问题要怎么解决?
- python练习题-day25
- qt c++ 图片预览_Qt多语言国际化
- python socket多线程 获取朋友列表_python中的(多线程)套接字列表/数组
- 太晚了!iPhone屏下指纹或要等到2021年才安排
- 嵌入式IOEServer终于开发完成,相应的问题作一个系统阐述(WINCE)
- POJ1741 点分治模板
- phpspider 简单使用
- html画圆圈加感叹号,感叹号怎么打 拜托了是两个并在一起的叹号,
- zookeeper入门篇
- 线程池ThreadPoolExecutor与ForkJoinPool
- 固态加装机械计算机不显示,win10不显示机械硬盘怎么办_win10加装机械硬盘不显示的解决方法...
热门文章
- C语言dlopen()和dlsym()获取函数的运行时地址
- python .npy 存取 dict
- div设置行高后内容未垂直居中
- 为什么 ERP 系统的用户体验不好?
- influxdb 退出命令
- [ioredis] Unhandled error event: Error: connect ETIMEDOUT报错的解决办法
- Point1:STM32根据BRR反推波特率
- Linux驱动——LED驱动的编写与实验
- 前端页面 原生php+H5 视频播放一 专辑列表页(专辑页list)
- GBase 8a MPP Cluster 维护-日志篇