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 向量(行,列) 矩阵相关推荐

  1. matlab 行 列表示,Matlab Mathematica 向量(行,列) 矩阵

    Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [ 1 2 3 4; 4 5 6 7 ] 或 ...

  2. 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 ...

  3. matlab采用向量作为标号赋值的实质是同维矩阵的赋值

    matlab采用向量作为标号赋值的实质是完全相同维度矩阵的赋值 clear all;clc;close all; data=zeros(3,3); disp("初始矩阵:"); d ...

  4. python矩阵乘法 点乘_Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)

    Tensorflow二维.三维.四维矩阵运算(矩阵相乘,点乘,行/列累加) 1. 矩阵相乘 根据矩阵相乘的匹配原则,左乘矩阵的列数要等于右乘矩阵的行数. 在多维(三维.四维)矩阵的相乘中,需要最后两维 ...

  5. Matlab如何删除矩阵中的零元素,重新整理不等行的矩阵

    现在我有的是一个50行,1832列的矩阵,但是其每一列上有效的数字并不多,且不相等,其余都是没用的0元素.那么如何删除矩阵中的零元素,重新整理不等行的矩阵?先上结论. 结论:最方便的还是转化成Cell ...

  6. matlab max与min获取矩阵最大最小值函数

    1.matlab中Max的用法1(Min类似) Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A) 1)返回一个数组各不同维中的最大元素. 2)如果A是一个向量,max(A) ...

  7. matlab 全1矩阵,matlab全为1的矩阵

    生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n) 生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n) 生成一个主对角线全为 1 的 m 行 n 列 ...

  8. Matlab用向量误差修正VECM模型蒙特卡洛Monte Carlo预测债券利率时间序列和MMSE 预测...

    原文链接:http://tecdat.cn/?p=27246  此示例说明如何从 VEC( q ) 模型生成 Monte Carlo 预测.该示例将生成的预测与最小均方误差 (MMSE) 预测和来自V ...

  9. MATLAB中出现 索引超出矩阵维度,程序用matlab运行显示索引超出矩阵维度,请问怎么...

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:程序用matlab运行显示索引超出矩阵维度,请问怎么改?回答:用size函数可以求矩阵维数,用reshape可以改变数据维数. 如: ...

最新文章

  1. LeetCode刷题-8
  2. python能做什么游戏ll-一个简单的python game游戏
  3. 【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
  4. 深入理解分布式技术 - 分布式锁的应用场景和主流方案
  5. 50个运维必会的常识和操作
  6. frp后台运行和停止
  7. 算法:图(Graph)的遍历、最小生成树和拓扑排序
  8. 论文总结(negFIN: An efficient algorithm for fast mining frequent itemsets)
  9. 加载elementor时出现问题_不锈钢管在焊接时出现问题要怎么解决?
  10. python练习题-day25
  11. qt c++ 图片预览_Qt多语言国际化
  12. python socket多线程 获取朋友列表_python中的(多线程)套接字列表/数组
  13. 太晚了!iPhone屏下指纹或要等到2021年才安排
  14. 嵌入式IOEServer终于开发完成,相应的问题作一个系统阐述(WINCE)
  15. POJ1741 点分治模板
  16. phpspider 简单使用
  17. html画圆圈加感叹号,感叹号怎么打 拜托了是两个并在一起的叹号,
  18. zookeeper入门篇
  19. 线程池ThreadPoolExecutor与ForkJoinPool
  20. 固态加装机械计算机不显示,win10不显示机械硬盘怎么办_win10加装机械硬盘不显示的解决方法...

热门文章

  1. C语言dlopen()和dlsym()获取函数的运行时地址
  2. python .npy 存取 dict
  3. div设置行高后内容未垂直居中
  4. 为什么 ERP 系统的用户体验不好?
  5. influxdb 退出命令
  6. [ioredis] Unhandled error event: Error: connect ETIMEDOUT报错的解决办法
  7. Point1:STM32根据BRR反推波特率
  8. Linux驱动——LED驱动的编写与实验
  9. 前端页面 原生php+H5 视频播放一 专辑列表页(专辑页list)
  10. GBase 8a MPP Cluster 维护-日志篇