1 删除cell数组中的NaN数据
A(cellfun(@(x) any(isnan(x)),A))=[];
如果NaN用0替换
A(cellfun(@(x) any(isnan(x)),A))={'0'}
2 数据格式转换
cell2mat:将cell转换为mat的char型
str2num:将char转换为double型
cellstr:将char转还为cell
num2str:将double转换为char
num2cell:将double转换为cell
int2str:将int转换为char型
datestr:将datetime转换为char型
3 输出视频的音乐
因为喜欢看抖音短视频,喜欢视频中的音乐,想提取视频中的音乐,matlab代码如下
[y, Fs] = audioread('蔡徐坤.mp4');%并返回样本数据 y 以及该数据的采样率 Fs audiowrite('蔡徐坤.wav',y, Fs);%输出wav音频文件文件 sound(y,Fs)%播放音乐
4 含有NaN的相关数据处理
求和:nansum
平均:nanmean
标准差:nanstd
isnan判断数值型数组是否为空,返回值1代表为空,0代表不为空
5 cell索引查找
第一种情况
>> a={2,3,4,5,6,7,10,11,10}; >> idx=find(a==10) 未定义与 'cell' 类型的输入参数相对应的运算符 '=='。 >> idx=find([a{:}]==10) idx = 7 9
通过[a{:}]转换数组,后用find查找索引
注意:cell数组只能数值型或者单字符的数据 有效
第二种情况
>> a={'1','error','3','4','error','7'}; >> idx=find(strcmp(a,'error')) idx = 2 5
注意:strcmp()方法能够同时检索字符和字符串
第三种情况
>> a={'1','error','3','4','error','7'}; >> idx = find(ismember(a,'error')) idx = 2 5
注意:
能够检索字符串和单字符,但不能够检索数值类型的数据,也不能对包含混合数据类型(同时包含数值和字符或字符串)的cell进行检索。
速度较慢
具体参考
matlab如何输入较长的字符串:matlab字符串换行
str=['zzzzzzzzzzz',... 'wwwwwwwwwww']
6、MATLAB获取当前路径的三种方法:
1.方法一:pwd
>> pwd ans = 'D:\matlabcode'
2.方法二:cd
>> cd D:\matlabcode
3.方法三:获取what结构体的path数据
>> s=what; >> p=s.path p = 'D:\matlabcode'
7、MATLAB怎么声明NaN数组:
zeros(5,3)*NaN
8.多坐标轴(参考:https://www.ilovematlab.cn/thread-28442-1-1.html)
str={'欢迎你';'北京';'朋友'}; h=axes('Position',[0.1 0.1 0.9 0.9]); h1=axes('Position',[0.23 0.15 0.9 0.9]); axes('Position',[.35 .35 .7 .9]); %创建两个坐标轴 text(.025,.6,str(1),'FontSize',11); %在当前(第二个)坐标轴上标注 set(gcf,'CurrentAxes',h) %返回到第一个坐标轴的控制 text(.025,.6,str(2),'FontSize',11); %在第一个坐标轴上标注 set(gcf,'CurrentAxes',h1) text(.025,.6,str(3),'FontSize',11);
9 绘制渐变曲线
clear,clc; x=1:0.1:20; y=sin(x); patch([x NaN],[y NaN],[y NaN],'edgecolor','flat','facecolor','none') colormap jet colorbar
10、matlab绘制椭球
clear,clc a=6; b=3; c=3; [x, y, z] = ellipsoid(0,0,0,a,b,c,50); figure h=surf(x, y, z,'FaceAlpha',0.5,'EdgeColor','none'); axis equal
医学工具箱网址下载