随循环填充(更新)矩阵

不断更新矩阵,填充矩阵,可用cat函数:

C = cat(dim,A,B);

  


向量重复扩充矩阵

将相同的向量或矩阵进行重复扩充时,matlab有两种方法:(第二种方法的效率更高)
第一种:使用repmat(a,m,n)函数,把一个向量或者矩阵a当作元素,扩充mxn次,如repmat(a,10,1)

第二种:a(ones(10,1),:),:表示全选,但也可以选择部分数据,如a(ones(10,1),1:2)


序列翻转

B=fliplr(A);    —— 将矩阵A的列绕垂直轴进行左右翻转。如果A是一个行向量,fliplr(A)将A中元素的顺序进行翻转。如果A是一个列向量,fliplr(A)还等于A

B = flipud(A); ——实现矩阵的上下翻转


生成随机整数

①:round(rand(1,10)*5),生成0-5之间的10个随机整数

②:randi([0,1],2,6),生成0-1之间的2*6的整数矩阵


根据现有元素更改矩阵维度

reshape(X,m,n):将矩阵X变为m行n列的矩阵形式。但注意matlab中是以列优先进行存储的!因此也从列的方向取数

对应地,可以先对矩阵进行转置。实矩阵X',复矩阵X.'。(复矩阵中X'相当于共轭转置)

B = transpose(A)  等同于 B = A.' ,即对矩阵转置


取整

ceil:向上取整。返回大于或等于指定数字的整数的最小值。

floor:向下取整。返回小于或等于指定数字的最大值。


获取元素总数

numel:获取元素总数(可直接获取矩阵中元素总数)

nargin:对应于varargin的个数


移位操作

比特位操作

c = bitand(x,y);      % 将十进制数x和y进行按位与
b = bitshift(a,k,n); % 将十进制数a进行比特移位,k为位数,正数向左移,负数向右移。n为移位后保留的位数,可省略

 bitor——按位或;bitxor——按位异或;bitcmp——按位取反;bitget——获取某一位;bitset——设置某一位

矩阵循环移位

b = circshift(a,[x,y]);   % a为待移位矩阵,x上下移位位数,正数向下移;y左右移位位数,正数向右移
d = circshift(A,k,dim); % 将A沿维度dim平移k
d = circshift(A,k); % 将A沿不等于1的第一个A维度平移k

请求外界输入

prompt = 'Please input!';
x = input(prompt); % 可输入常量、变量及表达式,如rand(3),如不输入直接Enter,返回空矩阵
str = input(prompt,'s'); % 返回输入的文本,不将输入作为表达式计算。若输入为空,str为默认值'Y'

参数可变函数 

将varargin设为函数的输入参数(在被调函数的定义中),(varargin为可变长度的元组)

(在被调函数的定义中)使用时,用varargin{1},varargin{2}来表示


定点量化

quantizer:定义数据的量化属性

quantize:根据上面定义的来量化浮点数

a = fi (pi,1,15,12);     % 1表示有符号(0为无符号);15表示字长;12表示小数长度
b = fi(1:25,0,8,0); % 创建定点整数,小数长度为0

 查看数据类型:

① whos a b c               ② class(a) 


定义结构体

field1='sc' ;    value1 = [];   ......     a = struct(field1,value1,field2,value2);


一些零碎

求余数:mod(A,B)

定浮点转换:c16s14——有符号复数16位,小数14位;r16u15——无符号实数16位,小数15位;r8s0

将多个不同长度的字符串分别保存:用cell实现。{‘abc’ , ‘adress’}

strcat('amd',inter) —— 该函数可将字符串与变量值串联起来。有时需要加 num2str(inter)


数据类型转换

cell2mat:将数据从cell类型变为double类,仅适用于数字

str2num、num2str

cellstr(A):转换为字符向量的元胞数组

数据类型判断:

isa(indata,'cell')        或      isa(indata,'double')

进制转换:

hex2dec(a)十六到十、bin2dec(H)二到十、dec2base(number,8),可以将十进制数转换为任意进制得。


rng('default');

伪随机数并非真正的随机,而是根据种子生成的数,有一定“规律”,而这个种子就是这个“规律”。
rng(‘default’) 或 rng(0) 即使用默认种子。matlab刚打开默认为种子0,只要没改变过种子,不写也一样

默认种子是0,但不代表每次使用的都是0
rng(‘default’);  rand(1,10).   每次运行的结果都一样
rand(1,10)     每次运行的结果不同


字符串

idx = find(strcmp(data,'Symbol'));           % 寻找对应的字符串所在位置

选择

 除了if...else....end,还可用switch

switch mode
case 1
...
case 2
...
otherwise
error('wrong');
end  

最新文章

  1. c#过滤html标签
  2. Java7并发编程实战(一) 线程的中断
  3. 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
  4. Linux下Python获取IP地址
  5. too many automatic redirections were attempted
  6. windows下使用VirtualEnv
  7. android学习日记20--连接组件之Intent和IntentFilter
  8. 自定义ContentProvider
  9. ffmpeg用法
  10. 富文本编辑器 - wangEditor 表情
  11. js手机号批量滚动抽奖代码实现
  12. Centos安装jdk8
  13. DirectX11 With Windows SDK--15 几何着色器初探
  14. MySQLdb使用
  15. 团队-爬虫豆瓣top250项目-模块测试过程
  16. 用c++写一个数据库
  17. aspectj ----- 简介
  18. 利用koa实现mongodb数据库的增删改查
  19. Gradle 'MYasprj' project refresh failed Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容
  20. Linux如何实现开机启动程序详解(转)

热门文章

  1. Prime Distance
  2. JavaSE 对象与类(一)
  3. CCRD_TOC_2007_EULAR专辑_2
  4. refactorObjProps:裁剪、添加对象字段或更新字段内容
  5. Optimum + ONNX Runtime: 更容易、更快地训练你的 Hugging Face 模型
  6. 智能指针 shared_ptr weak_ptr shared_from_this 笔记
  7. centos7 部署 loonflow
  8. 微信小程序与微信公众号之间支付问题解决方案
  9. 【3】java之string类
  10. mybatis懒加载