Matlab科研记录

目录

一、如何连续访问或者连续命名变量

二、如何画双y轴条形图且将数据显示

三、输出时间

四、同时给多个变量赋值

五、表格处理

5.1 表格读取

5.2 表格保存

5.3 TSV数据提取

六、数据处理

6.1 数据重新排列

6.2 数据整体重复

6.3 数据单个元素重复

6.4 两组数据对应寻找

6.5 重复数据删除并保留一个

6.6 数据排序

6.7 NaN替换成0

6.8 数组限值

6.9 元胞数据处理

6.9.1 删除空白值

6.9.2 删除空白行

6.9.3 提取元胞中的所有数据

6.9.4 删除元胞

6.9.5 元胞匹配

6.10 填充空白值

6.11 删除全行(列) 

      6.11.1 删除全零行

      6.11.2 删除NaN行

6.12 计算一行中非零元素个数

6.13 序列生成

6.14 字符串

6.14.1 字符串比较

6.14.2 字符串拼接

6.14.3 字符串拆分

6.14.4 正则运算

6.15 随机数生成

6.16 矩阵插入

6.17 判断一个数是否为整数

七、在图中添加LaTex公式

八、设置

8.1 数据显示

九、文件处理

9.1 读取文件夹名称

9.2 批量保存不同名称的文件

9.3 文件搜索功能

9.4 地址拼接

十、信号处理

 10.1 求信号上下包络

十一、符号处理

11.1 符号美化

十二、高级应用

12.1 类应用


一、如何连续访问或者连续命名变量

a1=[1 2;3 4;5 6];
a2=[2 5;3 7;4 8];
a3=[9 5;8 4;7 3];
a4=[5 2;4 6;3 4];
a = cell(4,1);
for i = 1:4
       a{i}=eval(strcat('a',num2str(i)))
end

二、如何画双y轴条形图且将数据显示

x={'中国','英国'};

xx = categorical(x);    %定义分类数组
xx = reordercats(xx,x);    %调用 reordercats 函数来指定条形的顺序
y = [1015.37 352.81; 5260 6943];
oo=[0,0];   %引入的零数组

yyaxis left      %激活左侧
hold on
b1=bar(xx,[y(1,:);oo]);    %引入零数组
ax = gca;
ax.YColor='black';
set(b1(1,1),'FaceColor','b');%选择1c(这个颜色
set(b1(1,2),'FaceColor','r');%选择1c(这个颜色
text(1-0.15,y(1,1),num2str(y(1,1)),'HorizontalAlignment','center','VerticalAlignment','bottom','FontSize',25,'FontName','Times New Roman');
text(1+0.15,y(1,2),num2str(y(1,2)),'HorizontalAlignment','center','VerticalAlignment','bottom','FontSize',25,'FontName','Times New Roman');
yyaxis right      %激活右侧
hold on
b2=bar(xx,[oo;y(2,:)]); %引入零数组
set(b2(1,1),'FaceColor','b');%选择1c(这个颜色
set(b2(1,2),'FaceColor','r');%选择1c(这个颜色
ylim([1500 8000])
legend([b1(1,2) b2(1,1)],{'SiC相对于IGBT节省金额','HyS相对于IGBT节省金额'}) ;   %只显示原始数据的图例
box on
ax = gca;
ax.YColor='black';

text(2-0.15,y(2,1),num2str(y(2,1)),'HorizontalAlignment','center','VerticalAlignment','bottom','FontSize',25,'FontName','Times New Roman');
text(2+0.15,y(2,2),num2str(y(2,2)),'HorizontalAlignment','center','VerticalAlignment','bottom','FontSize',25,'FontName','Times New Roman');
set(gca,'FontSize',25)

三、输出时间

datestr(now,‘yyyy-mm-dd HH:MM:SS’ )

四、同时给多个变量赋值

[x,y,z] = deal(0);
[a,b,c] = deal(1,2,3);

五、表格处理

5.1 表格读取

        利用readtable进行表格读取,表格读取之后为table格式,将table转换成数组格式。

file.name = "result_13028.xlsx";
file.para = sheetnames(file.name);
data.raw = readtable(file.name,'Sheet',file.para(1));
data.n = table2array(data.raw(:,1));
data.n = data.n(~isnan(data.n));

5.2 表格保存

fullname = '666.xlsx';
a = table(table_500);
% 4*(i-1)+6:4*i+5-(4-length(para.rawdata500.thermal.RCth.leg(1).S(1).tr.(loss_struct{i})))

str = [ "sdfdsf"];
writematrix("str_you_type",fullname,'Sheet',"thermal",'Range',"A1");
writematrix(str,fullname,'Sheet',"thermal",'Range',"A2");
writetable(a,fullname,'Sheet',"thermal",'Range',"A4",'WriteVariableNames',false);

5.3 TSV数据提取

t = readtable("data.tsv", "FileType","text",'Delimiter', '\t');

六、数据处理

6.1 数据重新排列

        利用reshape可以对数据进行重新排列。

a = [1 2 3 4];
b = [5;6;7;8];
c = reshape(a,4,1);
d = reshape(b,1,4);
%c = 
%   1
%   2
%   3
%   4
%d = 5 6 7 8

6.2 数据整体重复

        将数据重复组成一组有周期的数组。

a = [1 2 3];
b = repmat(a,3,1);%3行1列
% b=
% 1 2 3
% 1 2 3
% 1 2 3

6.3 数据单个元素重复

        数据每个元素重复。

a = [0 1 2 3];
b = repelem(a,2);
% b = 0 0 1 1 2 2 3 3

6.4 两组数据对应寻找

        在两个数组中找到相同的数据。

a = [6 0 1 2 3 4 5];
b= [5 4 3 2 1 0 6];
[c,a_indx,b_indx] = intersect(a,b,'rows');
%c/a_indx/b_indx = 空的 0×7 double矩阵
[d,a_indx,b_indx] = intersect(a,b);
% d = 0 1 2 3 4 5 6
% a_indx = 2 3 4 5 6 7 1
% b_indx = 6 5 4 3 2 1 7

6.5 重复数据删除并保留一个

         一个数组中有多个重复数据,想要保留 一个周期的数据。

a = [1 2 3 4 5];
a = repelem(a,2)
b = unique(a);
%a = 
% 1 1 2 2 3 3 4 4 5 5
%b = 
% 1 2 3 4 5

6.6 数据排序

        数据按照某一列排序。正数代表升序,复数代表降序。

a = [1 2 23 3 23 ;
     2 4 54 45 23 ;]'
b = sortrows(a,1);
%b =
 %    1     2
 %    2     4
 %    3    45
 %   23    54
 %   23    23

6.7 NaN替换成0

        将NaN替换为0,将0替换为NaN

x(find(isnan(x)==1)) = 0

6.8 数组限值

        给一个数组限幅

x = [1 2 3 4];
x(x>2)=2;

6.9 元胞数据处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The hopes of the whole village

看心情打赏咯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值