【matlab小笔记】 目录
matlab设计app
命令行输入:appdesigner
【length、size、numel之间的区别】
a=[1 2 3;4 5 6];
[2 3]=size(a)
3=lenth(a)
6=numel(a)
【matlab续行符】…
【一行数据转变成一个矩阵,用reshape()】
【文件、文件夹、路径操作】
oldname=‘folder1’;
newname=‘folder2’;
command = [‘rename’,32,oldname,32,newname]; %启用dos命令修改,这里的32是asc表里的空格
status = dos(command)数组%注意这里是dos而不是doc
好好研究一下dos是个啥
【文件夹操作】
【文件夹】
判断文件夹是否存在 if ~exist()
创建文件夹 makdir
重命名文件夹 dos(‘rename oldname newname’)
复制文件夹 copyfile(‘oldfile newfile’)
删除文件夹 rmdir
创建文件夹makdir
删除文件夹delete rmdir
读取文件夹下列dir
读取文件夹和子文件夹下所有文件(递归函数)
重命名文件夹
result=dos(‘rename,oldname,newname’);%0代表没有问题,顺利执行,1表示执行失败
重命名文件,需要加后缀哦,千万不要忘了后缀
result=dos(‘rename,oldname.txt,newname.txt’);
【创建】
【创建】
【创建数组】
x = a:step:b;
x = linspace(a,b,n); %起始为a,终点为b,个数为n
【创建】矩阵
【创建矩阵】
mat = zeros(n); %创建n*n的0矩阵
mat = zeros(m,n); %创建m*n的0矩阵
mat = zeros(size(A)) %创建一个与A矩阵行列数相同的0矩阵
mat = ones(n); %创建n*n的1矩阵
mat = ones(m,n) %创建m*n的1矩阵
mat = ones(size(A)) %创建一个与A矩阵行列数相同的1矩阵
【dir】
dir出来的文件夹列表如下:
-3文件夹
-2文件
-1文件夹
.
…
0文件
1文件夹
2文件
【递归遍历】递归遍历此文件夹里的所有文件自定义subdir()函数
function[list]=subdir(path,keyword,count)
list=dir([path,'\',keyword]);%先把符合条件的文件放进列表
count=count+length(list);
floderlist=dir(path);
【读取/写入】
【读取/写入】 csv文件
【读取/写入 csv文件】
mat1=load([pwd,'\rawdata.csv']);//pwd命令会输出当前路径
mat2=csvread([pwd,'\rawdata.csv']);//注意用的是单引号,而不是双引号
mat3=dlmread([pwd,'\rawdata.csv']);
csvwrite([pwd,'\result.csv'],mat1);
help csvread %查看如何读取指定行列的数据
【读取/写入】 xlsx文件指定范围的数据
mat=xlsread('rawdata.xlsx','Sheet1','E4:T36');
help xlsread %查看如何读取指定行列的数据
【读取/写入】 图片.bmp、.jpg、.png
【读取/写入 图片.bmp、.jpg、.png】
mat=imread([pwd,'\test.bmp']);%读取bmp
mat=mat2gray(mat);//归一化为0-1的数
imshow(mat);%显示bmp
imwrite([pwd,'result.bmp'],mat);
【矩阵】
【矩阵最值】求矩阵中最大值和最小值
给整个矩阵赋同一个值:mat(:)=num;%(:)中的引号是指所有元素
求矩阵中所有数据均值:avg=mean(mat(😃);
【矩阵最值】求矩阵中最大值和最小值
【求矩阵中最大值和最小值】
一维数组A
Max=max(A);
Min=min(A);
二维矩阵mat2D
Max=max(mat2D(:));
Min=min(mat2D(:));
三维矩阵mat3D
Max=max(mat3D(:));
Min=min(mat3D(:));
【限大小】限定矩阵中每个数据的大小范围
【指定数据大小范围】
mat(mat<0) = 0; % 将矩阵A中小于0的元素设置为0
mat(mat>100) = 100; % 将矩阵A中大于100的元素设置为100
【矩阵转数组】将矩阵转成数组,一列
【将矩阵转成数组,一列】
mat=mat(:);%不用怀疑,就是这么简单
【矩阵的合并】
【矩阵的合并】
mat3=[mat1,mat2];%行合并 %注意:用中括号合并,而不是半圆括号!
mat3=[mat1;mat2];%列合并
【4张图合成一张大图】—非RGB彩图且同尺寸
【4张图合成一张大图】---非RGB彩图且同尺寸
bigImage = cell(2); %申请了2*2的cell空间
bigImage(1) = {imageMat1};
bigImage(2) = {imageMat2};
bigImage(3) = {imageMat3};
bigImage(4) = {imageMat4};
bigMat = cell2mat(bigImage); %将cell转成大矩阵
figure
bigMat=mat2gray(bigMat);
imshow(bigMat);
//或者使用下面方式呈现图片
imshow(bigMat,[min(min(bigMat)) max(max(bigMat))]);
【画图】
【画二维图】
subplot(2,2,1);
plot();
set(gca,'XLim',[0 100],'YLim',[0 100]);%设置x轴和y轴显示范围
【画三维图】将矩阵通过三维图展示出来
【将矩阵通过三维图展示出来】
surf(mat); %平滑着色的三维曲面图
mesh(mat); %网格划分的曲面图
scatter3(X,Y,Z,color);%画三维散点图
【画数据分布图】查看数组中的数据分布hist()
【查看数组中的数据分布】hist()
array=mat(:);%如果是想看矩阵中的数据频率分布,需要先转成数组
dataFeature=tabulate(array);%得到的dataFeature:第一列为value数值,第二列为count数量,第三列为percent占比
value=dataFeature(:,1);
count=dataFeature(:,2);
plot(value,count);grid on;%画图
【导出】怎样从fig导出高清图
【导出】怎样从fig导出高清图:
点击fig图窗左上角 ‘**文件**’--‘**导出设置**’--‘**渲染**’--‘**分辨率**’--‘**600**’--‘**导出**...’
【常用demo】
【导入excel并画图】
【导入excel并画图】
path = ‘C:\Desktop’;
excelList = dir([path,'\*.csv']);
mat = load([path,'\',excelList(1).name]);
plot(mat(:,1),mat(:,2),'rv-','linewidth',2);
set(gca,'fontsize',18);%设置坐标轴数字大小
xlabel('x轴','fontsize',20);%字体大小 可标 可不标
ylabel('y轴');
title('标题');
legend('标注');
【移动文件】移动指定文件到指定文件夹中
【移动指定文件到指定文件夹中】
%路径
path = 'D:\文件夹1';
%创建子文件夹
%列出所有待转移的文件名
excelList = dir([path,'\*.csv']);
%列出所有终点文件夹
files = dir(fullfile(path));files = fiels(3:102);
%转移文件,至文件夹中
for num = 1:100
num %用于显示进度
for i = 1:43
copyfile(excelList((num-1)*43+i).name,files(num).name);
end
end