【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
【MATLAB 从零到进阶】day2 矩阵 数组的更多相关文章
- 从零单排入门机器学习:Octave/matlab的经常使用知识之矩阵和向量
Octave/matlab的经常使用知识之矩阵和向量 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错.算是入门了.这次打算以该课程的作业为主线,对机器学习基本知识做一 ...
- MATLAB 的 cell 大法(单元格数组)
MATLAB 的 cell,称单元格数组 or 元胞数组:使用频率特别高,甚至比 struct 结构体还高. MATLAB文档给出的 cell 官方定义: A cell array is a coll ...
- C++和MATLAB混合编程求解多项式系数(矩阵相除)
摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...
- 1145: 零起点学算法52——数组中删数II
1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 293 ...
- PIE调用Python返回得到直方图矩阵数组
前段时间我研究了PIE SDK与Python的结合,已经能成功的通过C#调用Python,获得彩色直方图.(上一篇随笔中有分享:https://www.cnblogs.com/yuan1120/p/1 ...
- 转载 matlab矩阵数组常用操作
一. length 返回矩阵最长维的的长度 ndims 返回维数 numel 返回矩阵元素个数size ...
- 7.26机房报零赛——无尽的矩阵【kmp+hash】
恩,其实大家都没有报零,反正我是蒟蒻 为了纪念我第一次打过哈希,特此写一篇题解 题目描述 从前有一个的小矩阵,矩阵的每个元素是一个字母(区分大小写),突然有一天它发生了 变异,覆盖了整个二维空间,即不 ...
- Matlab与.Net混合编程-多维数组赋值出错的问题
问题描述:Matlab可编译供.net调用的dll.两种不同环境对数据类型的定义相差较大,因此在C#中调用Matlab编译的函数时,首先要将C#中的变量类型转换成与Matlab对应的中转类型.Matl ...
- matlab中num2str 将数字转换为字符数组
参考:https://ww2.mathworks.cn/help/matlab/ref/num2str.html?searchHighlight=num2str&s_tid=doc_srcht ...
随机推荐
- ubuntu16.04 + CUDA 9.0 + opencv3.3 安装
安装前的准备 CUDA 9.0 安装,可以参看Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装 opencv 3.3.0 下载 ippicv_2017 ...
- HDFS源码分析一-概述
HDFS 主要包含 NameNode, SecondaryNameNode, DataNode 以及 HDFS Client . 我们从以下这几部分讲: 1. HDFS概述 2. NameNode 实 ...
- python之继承、抽象类、派生、多态、组合、封装
1.继承概念的实现方式主要有2类:实现继承.接口继承. Ø 实现继承是指使用基类的属性和方法而无需额外编码的能力: Ø 接口继承是指仅使用属性和方法的名称.子类必须提供 ...
- Multipath TCP on iOS11 : A closer look at the TCP Options(转)
Multipath TCP uses a variety of TCP options to use different paths simultaneously. Several Multipath ...
- 3-3Java程序的结构
这是类的定义 这是主方法的定义 类里面包含一个主方法,或者是主方法嵌套到我们的类里面 大括号要特别注意,通过大括号我们可以看到类和主方法的包含关系 class后面一定是跟的类的名字
- HDU1080 【LCS变形】
题意: 给你每种字符匹配的权值大小,给你两个串,长度小的串可以在小串里面添加空格和大串匹配,问你一个最大匹配权值. 思路: 有点类似于LCS吧,我们在求两个串的LCS的时候,不行的就扔掉了,在这里就是 ...
- Lightoj1093 【线段树】
题意: 给出n个数,然后对于D区间的数求一个最大差值 思路: 区间最大最小...我居然没想到线段树... #include <bits/stdc++.h> using namespace ...
- HDOJ2579,BFS(三维数组标记)
三维数组对于我这个萌萌的新手来说真是酷酷的,帅到不行,,, 三维数组前面还看到空间的哪一题HDOJ1240,这一题时间上的标记,更酷了!!! 不说废话了,贴一发代码: #include <std ...
- 编译出现No rule to make target `out/host/linux-x86/bin/aapt', needed by `out/target/common/obj/APPS/MyTv4_intermediates/src/R.stamp'问题
查找路径发现的确没有MyTv4_intermediates/src/R.stamp,这需要生成这个文件
- 笔记-JavaWeb学习之旅9
XML Extensible Markup Language 可扩展标记语言 功能:配置文件,在网络中传输 基本语法 1.xml文档的后缀名.xml 2.xml第一行必须定义为文档声明 3.xml文档 ...