MATLAB基础知识——1.4矩阵元素的引用

矩阵元素的引用方式

(1)通过下标引用矩阵元素,下标必须为正整数,且用圆括号括起来。

(2)通过序号来引用,在MATLAB中矩阵元素按列存储。序号与下标是一一对应的,以m*n的矩阵A为例,矩阵A(i,j)的序号就是(j-1)*m+i

  sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为

  D=sub2ind(S,I,J),S说明要转换的矩阵的行数和列数,通常有size函数获取;I是要转换元素的行下标,J是列下标,如果I和J是矩阵的话,表示要将矩阵中多个元素的行列下标进行转换;D为序号

>> A=[1:3;4:6]

A =

  1   2   3
  4   5   6

//将A矩阵的(1,1),(2,1),(2,3),(2,2)下标进行转化

>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])

D =

  1    2
  6    4

  ind2sub函数:将矩阵元素的序号转换成行列下标,其调用格式为

  [I,J]=ind2sub(S,D),其中S指定矩阵的行数和列数,D为序号,[I,J]为下标

//将3行3列的矩阵中序号为1,3,5的元素下标转化

>> [i,j]=ind2sub([3,3],[1,3,5])

i =

  1   3   2

j =

  1   1   2



利用冒号表达式获取子矩阵

子矩阵是指由矩阵中一部分元素构成的矩阵

A(i,:)  表示第i行的全部元素

A(i:i+m;k:k+m) 表示第i到i+m行且第k到k+m列中所有元素

end运算符:表示某一维的末尾元素的下标



利用空矩阵删除元素

空矩阵是指没有任何元素的矩阵,例如A[ ]。

>> A=[1:9]

A =

  1 2 3 4 5 6 7 8 9

//将A矩阵中所有行的3到6列元素删除

>> A(:,[3:6])=[]

A =

  1 2 7 8 9



改变矩阵的形状

reshape(A,m,n):在矩阵总元素不变的前提下,将矩阵A重新排列成m*n的而为矩阵

>> A=[1:9];
>> B=reshape(A,3,3)

B =

  1    4    7
  2    5    8
  3    6    9

A(:)将矩阵A的每一列元素堆叠起来,成为一个列向量

原文地址:https://www.cnblogs.com/Tea1024/p/9122052.html

时间: 2024-10-11 07:15:28

MATLAB基础知识——1.4矩阵元素的引用的相关文章

MATLAB基础知识——1.4矩阵表示

矩阵的建立 (1)直接输入法建立矩阵:将矩阵中的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分隔,不同行的元素之间用分号分隔. >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 (2)利用已经建好的小矩阵拼接成大矩阵 >> A=[1,2;3,4];>> B=[-1,-2;-3,-4];>> C=[A,B;B,A] C = 1 2 -1 -2 3 4 -3 -4 -1 - 2 1 2

数学建模--matlab基础知识

虽然python也能做数据分析,不过参加数学建模,咱还是用专业的 1. Matlab-入门篇:Hello world! 程序员入门第一式: disp('hello world!') 2. 基本运算 先了解基本的运算符,做一些简单的尝试: +   Plus; addition operator. -   Minus; subtraction operator. *   Scalar and matrix multiplication operator. ^   Scalar and matrix

Matlab基础知识

一.常用命令:普通的如cd.ls和linux下一样 clc:清除工作窗口中的所有显示内容 clf:清除图形窗口 whos:列出当前工作空间中所有变量,以及它们的名字.尺寸(比如一个矩阵或数组的行列维数).所占字节数.属性等信息.这些信息都显示在matlab中的workspace窗口中 shift+Enter:换行输入,可以输入多条命令,然后同时执行它 二.数据类型 默认存储类型为double:它与其他类型的值一起运算时,结果取决于另一个数 如果另一个数为逻辑型,字符型,则结果为双精度浮点型 如果

matlab 基础知识class < superclass_name

matlab中的class,在matlab中也可以通过创建类的方式实现面向对象编程. 1)类定义 >> classdef (attribute1 = value,...) classname(< superclass_name) properties PropName end methods methodName end events EventName end end 类名必须要与文件名相同,第一个括号中声明类的属性,类似于java中的public等关键词,更详细的解释可参考:Clas

matlab 基础知识class &amp;lt; superclass_name

matlab中的class,在matlab中也能够通过创建类的方式实现面向对象编程. 1)类定义 >> classdef (attribute1 = value,...) classname(< superclass_name) properties PropName end methods methodName end events EventName end end 类名必须要与文件名称相同,第一个括号里声明类的属性,类似于java中的public等关键词,更具体的解释可參考:Cla

matlab基础知识isfield

Matlab函数isfield 函数功能:判断输入是否是结构体数组的域(成员) 调用格式: t = isfield(S,'fieldname') 检测结构体S是否包含有fieldname指定的域,如果包含,返回逻辑1:如果不不包含fieldname域或者S不是结构体类型的,则返回逻辑0: t =isfield(S,C) 其中C是一个包含多个字符串的元胞数组,isfield判定由这些字符串表示的域是否是结构体的域.返回值是个逻辑型数组. matlab例子: student = struct('na

Matlab高级教程_第一篇:Matlab基础知识提炼_05

第九节:矩阵的操作 第十节:数组与矩阵 linspace函数 原文地址:https://www.cnblogs.com/noah0532/p/8587030.html

Matlab高级教程_第一篇:Matlab基础知识提炼_06

第十一节:图形操作 第十二节:文件的IO操作个格式化输出 原文地址:https://www.cnblogs.com/noah0532/p/8587031.html

Javascript入门基础知识和在HTML中的引用方式以及与JAVA之间的关系

JavaScript的基本语法: 一.执行顺序 JavaScript程序是按照出现在HTML文档中出现的顺序逐行执行的,如果需要在整个HTML文档中执行,最好将其放在HTML文件标签中.某些代码,如函数体内的代码,不会被立即执行,只有当所在函数被其他程序调用时,该代码才会被执行. 二.区分大小写 JavaScript是严格区分大小写的.例如str和Str这是两个完全不同的变量. 三.分号和空格 在JavaScript中,语句的":"是可有可无的,但大家最好每一句末尾都加上":