matlab数操作
随循环填充(更新)矩阵
不断更新矩阵,填充矩阵,可用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
matlab数操作的更多相关文章
- Matlab文件操作
1. Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件. 2. fid=fopen(文件名,打开方式) 'r' 只读,文件必须存在(缺省的打开方式) 'w' ...
- MATLAB矩阵操作大全
转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...
- matlab字符串操作总结
matlab字符串操作总结 字符串操作总结 char(S1,S2,…)利用给定的字符串或单元数组创建字符数组double(S)将字符串转化成ASC码形式cellstr(S)利用的给定的字符数组创建字符 ...
- MATLAB串口操作和GUI编程
程序说明 V1.0 2015/2/08 MATLAB串口操作和GUI编程 概述 本文介绍了程序AD9512_Serial_GUI的编程思路和功能.该程序设计到MATLAB的图像用户界面编程的基 ...
- numpy的基本API(二)——维数操作
numpy的基本维数操作API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.copyto(dst, src) copyto方法将数组src复制到 ...
- MATLAB常用操作
1.点乘,点除,点乘方 点乘(对应元素相乘),必须同维或者其中一个是标量,a.*b 点除,a.\b表示矩阵b的每个元素除以a中对应元素或者除以常数a,a./b表示常数a除以矩阵b中每个元素或者矩阵a除 ...
- matlab文件操作及读txt文件(fopen,fseek,fread,fclose)
文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MATLAB提供了一系列低层输入输出函数,专门用于文件操作. 1.文件的打开与关闭 1)打开文件 在读写文件之前,必须先用f ...
- MATLAB文件操作及读txt文件
转自:http://blog.csdn.net/vblittleboy/article/details/8049748 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MA ...
- [matlab] 矩阵操作
>_<:矩阵构造 1.简单矩阵构造 最简单的方法是采用矩阵构造符“[]”.构造1´n矩阵(行向量)时,可以将各元素依次放入矩阵构造符[]内,并且以空格或者逗号分隔:构造m´n矩阵时,每行如 ...
- matlab字符串操作
字符串转换函数 abs 字符串到ASCII转换dec2hex 十进制数到十六进制字符串转换fprintf 把格式化的文本写到文件中或显示屏上hex2dec ...
随机推荐
- Revit如何给模型绑定动画的教程
推荐:将 NSDT场景编辑器 加入你的3D开发工具链. Revit模型完成后,为了展示成果,有时需要做动画,本文章将教大家如何在3dsmax中给塔吊族模型绑定旋转动画,并导入到Lumion当中使用. ...
- 基于C++的OpenGL 03 之纹理
1. 概述 本文基于C++语言,描述OpenGL的纹理 前置知识可参考: 基于C++的OpenGL 02 之着色器 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多描述 ...
- [转载]危险操作一追到底--Linux的历史记录
转自:https://zhuanlan.zhihu.com/p/524921170 危险操作一追到底--Linux的历史记录 KellanFan 为了更好的自己 概述 在Linux下使用his ...
- JavaWeb 之 Cookie
0x01:为什么会有Cookies? 早期的互联网只是单纯的浏览信息,就像一个窗口一样,可以看但是没办法触摸到外面的风景,即是所谓的没有交互. 慢慢发展逐渐有了交互式Web,这里提一嘴HTTP无状态( ...
- centos7端口转发工具rinetd
1.下载软件 wget http://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm 2.安装软件 yu ...
- Day12 面向对象
面向对象 前提须知:Java中想要创建对象,必须要有类的存在 类和对象的关系: 依赖关系:需要根据类,创建对象 数量关系:根据一个类,可以创建出多个对象 创建Student类的对象进行使用 创建对象的 ...
- 2022-05-05内部群每日三题-清辉PMP
1.在项目规划阶段,质量保证经理建议实施三重测试环境以确保产品质量.项目经理确定这项建议将会增加成本,而且开发和认证环境将足以保证质量.项目经理应使用什么来影响质量保证经理? A.质量成本(COQ) ...
- ubuntu下编译安装uWebSockets
最近开始接触websocket,第一次装的时候,还是遇到了些问题,这里记录一下 1.从git下载uWebSockets 地址:https://github.com/uNetworking/uWebSo ...
- hive中对时间处理的函数总结
日期转为时间戳 unix_timestamp('2022-11-12 00:00:00.000') 结果:1668182400 from_unixtime(unix_timestamp('2022-1 ...
- Windows 脚本放到 Linux 服务器不生效的问题 /bin/bash^M: bad interpreter: No such file or directory
在windows编辑shell脚本后,由于文件格式原因,在linux下运行报错 有三个方法 1.在windows下,使用notepad++,将文件格式改为unix就可以了 2.在linux下,使用vi ...