3.1数据的获取

3.1.1从Excel中读取数据

a= xlsread(\’路径\’,n(sheetn),\’A(n-1):Bn(读入的数据范围)\’)

3.1.2从TXT中读取数据

3.1.2.1.1 同种类型的数据

随机生成矩阵 a =  linspace(1,30,8);

linspace(x1,x2xn)

其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。

linspacce(起始位,最后一位,个数)

把变量a以ASCII码的形式储存 save f:\ex.txt(任意文档名的TXT格式文件) a – ascii;

使用load函数 读取TXT文档a b = load(\’文档所在的路径 反斜杠\\'(记得路径的引号)

3.1.2.1.2 不同种类型的字符或数据 分类读取数据

常见读取表格类数据

含有表头 以及 字符串 浮点数 整数等等的数据

调用格式[A,B,C,…] = textread(\’filename\’,’format’,N,‘headerlines’,M)

filename 数据文件路径,format变量的字段格式(%s %f %n ) N读取次数 ,headerlines 从M+1行开始读取

 3.1.3

读取图片

%% 读取图片
% 《MATLAB数学建模方法与实践》(《MATLAB在数学建模中的应用》升级版),北航出版社,卓金武、王鸿钧编著.
clc, clear, close all %清除所有数据
a1=imread(\’000.bmp\’);%读取图片 A = inread(\’filename\’)

[m,n]=size(a1);size函数用法 m n 矩阵的行列数

%% 批量读取图片
dirname = \’ImageChips\’;dirname  文件名

dir函数可以获得指定文件夹下的所有子文件夹和文件,并存放在一个文件结构的数组中

name    — 文件名  date    — 修改日期  bytes   — 文件大小  isdir   — 目录是1,不是为0  datenum — matlab中特定的修改日期

使用方法:

dir ( \’ . \’ )  列出当前目录下的所有子文件夹和子文件

dir ( \’ G:\Matlab \’) 列出指定目录下的所有子文件夹和文件

dir( \’ *.m\’ )列出当前目录后缀是.m文件的所有文件

比如我的要求是获得某一路径下所有后缀为.3gp的文件个数:

 

  1.  
    D1=dir(fullfile(filedir,\’*.3gp\’));
  2.  
    filename={D1.name}\’; %name要进行转置
  3.  
    precount=size(filename,1);
  4.  

fullfile函数作用是利用文件各部分信息创建并合成完整文件名

files = dir(fullfile(dirname, \’*.bmp\’));获得某一路径下所有后缀为.bmp的文件个数

a=zeros(m,n,19);%生成0矩阵 zeros(m, n);  % 生成一个m*n的零矩阵

(zeros(m);     % 生成一个m*m的零矩阵(即m阶方阵)
zeros(m, n, k, ...);  % 生成一个m*n*k*...的零矩阵
zeros(size(A));  % 生成一个与矩阵A的维度一致的零矩阵)

pic=[];数组
for ii = 1:length(files)%%循环语句 for循环  就是获取files的长度值,然后i 循环从1到length(files) 循环
filename = fullfile(dirname, files(ii).name);
a(:,:,ii)=imread(filename);
pic=[pic,a(:,:,ii)];
end
double(pic);double(y)表示将参数y转为双精度浮点类型,如果y是字符,将返回字符的ASCII码
figure
imshow(pic,[])

循环读取图片

close all;

clear all;

pic_content=dir([\’D:\WorkSpace\matlab\saveas\’ \’\*.jpg\’]);

frame_num=length(pic_content);%帧数

for n = 1:frame_num

frame=strcat(num2str(n), \’.jpg\’);

I1=imread(frame); % 依次读入各帧图像

frame

end

3.2数据的预处理

3.3数据的统计

3.4数据可视化

plot 最基本的绘图命令

%读取数据

clc,clear al,close all

X=xlsread(\’F:\Cha3\DataVisual\dataTableA2.xlsx\’);

%绘制变量dv1的基本分布

N = size(X,1)返回X的行数

id = 1:N; id 从1到N

figure 创建画图窗口

plot( id\’, X(:,2),\’LineWidth\’,1) %plot(x,y) LineWidth 默认为0.5

set(gca,\’linewidth\’,2); %set(gca,,,)函数的作用是在做的图上插入坐标轴的坐标标注 省略x y

xlabel(\’x轴名称\’);

ylabel(\’y轴名称\’);

title(\’图片名称\’)

柱状图

figure
subplot(2,2,1); %subplot(m,n,p)       m 代表行   n 代表列   p 代表的这个图形画在第几行、第几列。 subplot的使用方法: subplot(m,n,p)
hist(X(:,2));%将向量Y中的元素分到10个等间隔的范围内,并返回每个范围内元素的个数作为一行向量。 如果Y是一个m x p的矩阵,hist将Y的每一列作为一个向量,并返回一个10 x p的矩阵n。n的每一列的值对应Y的该列。第二列的全部元素 做直方图hist函数
title(\’dv1柱状分布图\’,\’fontsize\’,12)
subplot(2,2,2);
hist(X(:,3));
title(\’dv2柱状分布图\’,\’fontsize\’,12)
subplot(2,2,3);
hist(X(:,4));
title(\’dv3柱状分布图\’,\’fontsize\’,12)
subplot(2,2,4);
hist(X(:,5));
title(\’dv4柱状分布图\’,\’fontsize\’,12)

 

版权声明:本文为zhulishan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhulishan/p/11477940.html