【MATLAB 从零到进阶】day2 矩阵 数组

访问矩阵元素

>> A=[1,2,3;4,5,6;7,8,9];

>> x=A(2,3)% 双下标访问

x =

6

>> x=A(2)% 单下标访问

x =

4

单下标访问时相当于访问A所转成的向量的元素。

>> A(3:6)

ans =

7 2 5 8

>>y4=A(:,1:2)%提取A的前两列元素

y4 =

1 2

4 5

7 8

>>y5 = A(1,:)%提取A的第一行元素

>> y5 = A(1,:)

y5 =

1 2 3

矩阵拼接

B=repmat(A, [m,n])%将矩阵A拼接为大矩阵

>> A=[1 2 3;4 5 6];

>> B=repmat(A,[2,2])

B =

1 2 3 1 2 3

4 5 6 4 5 6

1 2 3 1 2 3

4 5 6 4 5 6

定义字符矩阵

>> C=[‘abc‘;‘def‘;‘ghi‘]

C =

abc

def

ghi

>> size(C) %查看矩阵行数和列数

ans =

3 3

定义复数矩阵

>> a=[1 2;3 4];

>> b=[5 6;7 8];

>> A2=complex(a,b)

A2 =

1.0000 + 5.0000i 2.0000 +6.0000i

3.0000 + 7.0000i 4.0000 +8.0000i

>> a=[1 2;3 4];

>> b=[5 6;7 8];

>> A2=complex(a,b)

A2 =

1.0000 + 5.0000i 2.0000 +6.0000i

3.0000 + 7.0000i 4.0000 +8.0000i

定义符号矩阵

>> syms a b c d

>> A1=[a b;c d]

A1 =

[ a, b]

[ c, d]

>> A2=[1 2 3;4 5 6];

>> A2=sym(A2)

A2 =

[ 1, 2, 3]

[ 4, 5, 6]

特殊矩阵

零矩阵:zeros

一矩阵:ones

单位阵:eye

对角阵:diag

随机阵:rand

魔方阵:magic

高维数组

>> x(1:2,1:2,1)=[1 2;3 4];

>> x(1:2,1:2,2)=[5 6;7 8];

>> x(:,:,1)

ans =

1 2

3 4

>> x(:,:,2)

ans =

5 6

7 8

利用reshape函数定义3维数组。

>> x=reshape(1:12,[2,2,3])

x(:,:,1) =

1 3

2 4

x(:,:,2) =

5 7

6 8

x(:,:,3) =

9 11

10 12

利用repmat函数定义3维数组

>> x=repmat([1 2;3 4],[1 1 2])

x(:,:,1) =

1 2

3 4

x(:,:,2) =

1 2

3 4

定义元胞数组

直接赋值定义元胞数组

>> c1={[1 2;3 4],‘xz‘,10;[5 67],[‘abc‘;‘def‘],‘i love matlab‘}

c1 =

[2x2 double] ‘xz‘ [ 10]

[1x3 double] [2x3 char] ‘i love matlab‘

利用cell函数定义元胞数组

c = cell(n)

c = cell(m, n)

c = cell([m, n])

c = cell(m, n, p,…)

c = cell([m n p …])

c = cell(size(A))

定义结构体数组

>> struct1(1).name=‘xz‘;

>> struct1(2).name=‘hp‘;

>> struct1(1).age=31;

>> struct1(2).age=22;

>> struct1

struct1 =

1x2 struct array with fields:

name

age

利用struct函数定义结构体数组

调用格式:

s = struct(‘field1‘, values1, ‘field2‘, values2, …)

s = struct(‘field1‘, {}, ‘field2‘, {}, …)

>> struct2=struct(‘name‘,{‘xz‘,‘hp‘},‘age‘,{31,22})

struct2 =

1x2 struct array with fields:

name

age

>> struct2(1).name

ans =

xz

时间: 2024-11-11 20:49:36

【MATLAB 从零到进阶】day2 矩阵 数组的相关文章

数据结构进阶(二)矩阵(稀疏矩阵)的压缩存储

矩阵(稀疏矩阵)的压缩存储 注 本文转载地址: http://blog.163.com/zhoumhan_0351/blog/static/39954227201001112526244/ 为了节省存储空间并且加快处理速度,需要对这类矩阵进行压缩存储,压缩存储的原则是:不重复存储相同元素:不存储零值元素. 一.相关概念 ㈠特殊矩阵 矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律. ⒈对称矩阵 矩阵中的元素满足 aij=aji    1≤i,j≤n ⒉三角矩阵 上(下)三角矩阵指

1146: 零起点学算法53——数组中插入一个数

1146: 零起点学算法53--数组中插入一个数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1749  Accepted: 613[Submit][Status][Web Board] Description 给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序 Input 多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K Outpu

matlab中如何求某一个矩阵的标准差和均值

方法: 先reshape成行向量或者列向量 然后,利用mean函数,std函数. 构造测试数据,可以利用random函数,就好.利用这个函数,可以构造不同分布的随机数列(或 矩阵). 如: >> y =random('norm',2,0.3,3,4) y = 2.1391 2.2945 2.0769 2.1751 1.9334 1.6805 1.9315 1.8912 1.8775 1.8126 1.9733 1.7686 >> rows = reshape(y,3*4,1) ro

1143: 零起点学算法50——数组中查找数

1143: 零起点学算法50--数组中查找数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1910  Accepted: 777[Submit][Status][Web Board] Description 在给定的数组中查找一个数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 查找在第一行的n个整数中第一次出现数字m的下标位置并

1144: 零起点学算法51——数组中删数

1144: 零起点学算法51--数组中删数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 3304  Accepted: 933[Submit][Status][Web Board] Description 在给定的数组中删除一个数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中第一次出现数字m并删除,然后按

1145: 零起点学算法52——数组中删数II (有问题!)

1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 2935  Accepted: 793[Submit][Status][Web Board] Description 在给定的数组中删除数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中的数字m(多个的话都要删除),

(LeetCode)Pascal&#39;s Triangle II --- 杨辉三角进阶(滚动数组思想)

Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra space? Subscribe to see which companies asked this question 解题分析: 此处有空间的限制,因此不能正

xmind8零基础/进阶/案例全程通关

课程介绍:国内第一部弥补了xmind8思维导图无视频教程的空缺,是唯一一部严格按照番茄教学法顺序+实战的方式打造的适合国内白领的快快速上手教程.无论是你程序员还是普通hr,行政,亦或者是你是一名外卖的骑士......但是当你看到这个教程,很负责人的告诉您,你离主管职位不远了.曾经大家只要会office系列word,excel,ppt等就能突出自己,当今office乱大街的时候,xmind8刚好就是你的亮点.xmind8能让你在芸芸大众中脱颖而出,迅速得到领导的赏识,同事的肯定,因为她充分体现你的

转载 matlab矩阵数组常用操作

一. length             返回矩阵最长维的的长度    ndims       返回维数          numel      返回矩阵元素个数size               返回每一维的长度,[rows,cols]=size(A) 矩阵块操作 1.repmat() 数组块状复制 2.blkdiag()对角块生成函数 3.kron()直积 二.矩阵元素的提取与替换 (1)提取 A(i, j) :矩阵 A 中,位于第 i 横列.第 j 直行的元素用冒号(:), 取出一整列