平常经常处理用matlab处理数据,但是函数名基本上一概记不住。写在OneNote里的,直接复制过来,比较偏个人向。
快捷键
ctrl+r 全部注释
ctrl+t 全部取消注释
ctrl+c 结束运行
Shift+Tab 向前缩进
数据处理
- eval函数的功能是将字符串转换为matlab可执行语句
eval([varsname{i},'=ncread(dat_filename,varname);']);
%字符串内单引号由两个连续单引号表示
String='It''s not the manual!'
%输出结果为 String=It's not the manual!
-
删除矩阵维度 y=squeeze(x) 比如由1x2x2变为2x2
-
复制矩阵 repmat(a,m,n) 列复制n次,行复制m次
-
时间转换
datestr()
datenum() -
数据转换
-
等差数列
linspace(1,100,50) 即可得到1到100的50个等差数列 -
矩阵交并
C=intersect(A,B) 交集
C=union(A,B) 并集 -
矩阵翻转
rot90(A,n) 逆时针旋转n*90°
fliplr() 左右翻转
flipud() 上下翻转
reshape(A,x,y) 重新排列为x行y列的矩阵,以列排,不改变元素个数 -
取整
round——四舍五入到最近的整数,
roundn(a,-n)——四舍五入保留n位小数
ceil——朝正无穷方向取整
floor——朝负无穷方向取整
fix——朝零方向取整, -
取余
rem(m,n); m除以n所得余数 -
最值
[value,location] = max(A,dim)
[value,location] = min(A,dim)
[a,b]=min(abs(A-B)); 找出A中最接近B的值和位置
-矩阵排序
sort(a,dim) 将矩阵dim维排序,sort(a,‘descend’),升序使用sort(a,‘ascend’),
sortrows(a,n) 按a的第n列排序 -
求解方程
syms a b c y x
[x,y]=solve([ax^2+by+c0,ax+2y4],[x,y]) -
判断
isnan() 判断是否为nan
isempty() 判断是否为空
基础:matlab以列进行顺序存储
多个赋值
[a,b,c]=deal([]);
矩阵行列数
[m,n]=size(A);%m为行数,n为列数
矩阵平均
a=mean(A,1) %按列平均
b=mean(A,2) %按行平均
c=mean(A(😃) %全部平均
输出输入
输入语句input函数用于接收用户的输入:
a.输入数据
x=input('please input a number:')
b.输入字符串
x=input('please input a string:','s')
输出语句包括自由格式(disp)和格式化输出(fprintf)两种
disp(23+454-29*4)
disp('this is a string')
area=12.56637889;
fprintf('The area is %8.5f\n',area)