MATLAB应用笔记

news2025/1/19 14:24:03

其他

1、NaN值

MATLAB判断数据是否为NaN可以直接使用函数:isnan()

三、数据分析

1、相关性

均值、方差、协方差、标准差、相关系数

mean()  %均值
nanmean()%去除NAN值求均值
var()   %方差
cov()   %协方差
std()   %标准差
corrcoef(B,b) %R² 相关系数

plot()  %绘图
rcoplot(r,rint)  %残差个案排序图,详情后见

二维数组中所有非NAN元素的平均值

AA = reshape(A, size(A,1)*size(A,2),1)%2维转1维
A=nanmean(AA)

1.1 散点图、折线图

绘图详情见后方 :二、绘图

plot(x,y,'*',X,Y,'-')

1.2 协方差及协方差矩阵

协方差用来衡量两个变量的总体误差,如果两个变量的变化趋势一致,协方差就是正值,说明两个变量正相关。如果两个变量的变化趋势相反,协方差就是负值,说明两个变量负相关。如果两个变量相互独立,那么协方差就是0,说明两个变量不相关。
在这里插入图片描述

1.3 相关系数

相关系数(Correlation coefficient)是反应变量之间关系密切程度的统计指标,相关系数的取值区间在1到-1之间。1表示两个变量完全线性相关,-1表示两个变量完全负相关,0表示两个变量不相关。数据越趋近于0表示相关关系越弱。
R

标准差
协方差

2、分析测试

2.1 一元回归及多元回归、残差图分析

回归分析(regression analysis)是确定两组或两组以上变量间关系的统计方法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B=data(:,3);
B=B';
b=data(:,6);
b=b';
X = [ones(length(b),1), B'];%x'表示行向量转置为列向量
Y = b';
%根据输入参数y与X,用最小二乘法求线性回归系数b
[ b,bint,r,rint,stats ] = regress(Y,X);
rcoplot(r,rint)  %残差个案排序图
a=b(1)+(b(2))*B
plot(B,Y,'*',B,a,'-')  %残差点线图

2.2 显著性水平p值

[r,p]=corr(yy',xx');  %p为显著性水平
%[h,p,ci,stats1] = ttest2(yy,xx);

一、不同格式文件数据的读取、写入、存储

1、常用

1.1 .xls、.xlsx

将p写入表格路径,读取成p,读取xls中字符串

xlswrite ('D:\study\AOD\2020beijing\data.xls', P);
p=xlsread('D:\study\AOD\2020beijing\data.xls');
p=xlsread('D:\study\AOD\2020beijing\data.xls','Sheet1');%sheet1子表格名
[~,~,raw]=xlsread('D:\study\CE-318\a指数550_2021_1.xlsx','Sheet2')%raw获取包括字符串内容
data=raw(:,:);

1.2 .mat

另存为Excel数据

(1)将matlab中mat格式的数据保存为 xls 文件,命令为:

xlswrite('训练_42.xlsx',sounds_y2);
%其中“训练_42.xlsx”为另存为文件的名称,sounds_y2为原mat格式的数据

(2)将Excel数据读入到matlab中,命令为:

testlabel=xlsread('testlabel.xlsx');

2、专业

.tiff、.tif

[A,R] = geotiffread(‘文件路径’)
A:数据
R:属性

[A,R] = geotiffread('D:\study\AOD\AVR\2021002.tif') 

%%%多波段
filepath='D:\study\AOD\AVR\2021002.tif';                     %%图像名称与路径
Info=imfinfo(filepath);                                      %%获取图片信息
Slice=size(Info,1);                                          %%获取图片z向帧数
Width=Info.Width;
Height=Info.Height;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Image=zeros(Height,Width,Slice);
for i=1:Slice
    Image(:,:,i)=imread(filepath,i);                         %%一层一层的读入图像
end

.hdr

该函数语法规则为:
X = multibandread(filename, size, precision, offset, interleave, byteorder)
filename: 文件名
size:图像尺寸和波段数,size = [ 行数 列数 波段数 ]
precision:读取的图像的数据格式,例如’uint8’,‘uint16’,‘double’等
offset:偏移(这个参数目前我还不是很懂)
interleave:存储的图像的数据格式,有 bsq,bil,bip三种格式
byteorder : 数据存储的字节排列方式,有’ieee-le’(小端),‘ieee-be’(大端)

hdr = read_envihdr('D:\study\AOD\data1\MYD04_L2.A2021001.0900.061.20210_Swath_2D_1_georef.hdr')
Image = multibandread('D:\study\AOD\data1\MYD04_L2.A2021001.0900.061.20210_Swath_2D_1_georef.dat',hdr.size,[hdr.format '=>single'],hdr.header_offset,hdr.interleave,hdr.machine);
% A=Image(:,:,1);
% B=Image(:,:,2);
% C=Image(:,:,3);
A=Image(:,:,4);

.nc

ncFilePath='D:\Alice\研\modis,matlab\data\MYD04_L2.A2020354.0435.061.2020357193838.nc';
%路径
ncdisp(ncFilePath,'/','full');
lon=ncread(ncFilePath,'lon');  %经纬度
lat=ncread(ncFilePath,'lat');

%% 显⽰结构
% ncdisp(ncFilePath);%在命令⾏窗⼝中以⽂本形式显⽰ NetCDF 数据源 source 中的所有组、维度、变量定义,以及所有属
性。
% ncdisp(ncFilePath,‘evap’);%显⽰指定变量的内容.
% ncdisp(ncFilePath,/,‘min’);%只显⽰⽰例⽂件 example.nc 的组层次结构和变量定义。
% ncdisp(ncFilePath,/,‘full’);%全部显⽰所有结构和定义信息
%% 读取变量值
% ncid = netcdf.open(ncFilePath,‘NOWRITE’); %打开nc⽂件返回索引ID
% [ndims,nvars,ngglobalatts,unlimdimid] = netcdf.inq(ncid);%获取维数,变量数,全局属性数量,
% [varname,xtype,dimids,natts] = netcdf.inqVar(ncid,0); %根据变量索引号获取变量的名称
lon=ncread(ncFilePath,‘lon’);%读取经度变量
lat=ncread(ncFilePath,‘lat’);%读取纬度变量
sm_data=ncread(ncFilePath,‘sm’);%读取sm变量
sm_data1=sm_data(1174:1194,240:262);
sm_data1(sm_data10)=[];
aa=sm_data1;
[h,l]=find(aa0);
aa(h,l)=[];
%% 显⽰数据
% pcolor(lat,lon,sm_data);pcolor(X,Y,C) 指定顶点的 x 坐标和 y 坐标,C 的⼤⼩必须与 x-y 坐标⽹格的⼤⼩匹配,例如,如果
X 和 Y 定义⼀个 m×n ⽹格,则 C 必须为 m×n 矩阵.
% [x,y]=meshgrid(lon,lat);%根据经纬度信息产⽣格⽹.
% phandle=pcolor(x,y,sm_data’);%显⽰⼀个矩阵,其中x,y,sm_data的⾏列数必须⼀致。类似surface函数.
% colorbar
% imwrite(sm_data1,‘D:\Alice\研\modis\aa.tif’,‘tif’)
%% 保存为地理栅格tif格式,以便ArcGIS读取.
data=flipud(sm_data1);
R = georasterref(‘RasterSize’, size(data),‘Latlim’, [double(min(lat)) double(max(lat))], ‘Lonlim’,
[double(min(lon)) double(max(lon))]);%地理栅格数据参考对象() 
geotiffwrite(‘D:\Alice\研\modis\aa.tif’,data,R);

3、批量读取

csv_path=  'D:\study\CE-318\北京-CAMS(39.933牛顿,116.317牛顿)\';   %文件夹路径 
path_list = dir(strcat(csv_path,'*.csv'));  
%dir 函数 列出当前目录下所有子文件夹和文件%

list_num = length(path_list);%%文件数量
for i=1:list_num
%%%%%
end

3.1带字符串csv批量读取

参考:https://blog.csdn.net/qq_41661878/article/details/119330873

uiopen('D:\study\CE-318\beijingN39.977,E116.381\data\20170101_20171231_Beijing.csv',1)

4、批量存储(自定义命名)

xlswrite(strcat(csv_path,yearname,'.xlsx'),DATA); 
%自定义命名将DATA写入表格
%csv_path路径yearname名字

二、绘图

1、图形

title('图形名称') %(都放在单引号内)
xlabel('x轴说明')
ylabel('y轴说明')
text(x,y,'图形说明','fontsize',16)
legend('图例1','图例2',)
set(gca,‘XTickLabel’,[1991:1:2009]);%给X轴坐标加标签 (1991-2009间隔1xtickangle(50)%更改x轴标签角度

2、坐标控制

axis equal :纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形)
axis auto:使用默认设置
axis off:取消坐标轴
axis on :显示坐标轴
axis([xmin xmax ymin ymax])
命令可以限制二维图像的x和y坐标,此处输入axis([0 2pi -2 2]),限制横坐标为0到2pi,纵坐标为-2到2。

3、图例注释

legend(‘text1‘, ‘text2‘,)

4、文本注释

在图形中任意位置添加文本注释,用到的函数为text。其调用语法为text(x,y,‘text’),x、y为标注点的坐标位置,text为添加的文本注释。
text(x,y,‘标注名’)或者text(x,y,z,‘标注名’)
Matlab绘图基础——给图像配文字说明(text对象)

5、线型

plot(x,y,'k*',x1,y1,'b--')
在这里插入图片描述

matlab怎么设置自定义和旋转坐标轴刻度值及标签参考

%设置x轴范围和刻度
set(gca,‘XLim’,[0 10]);%X轴的数据显示范围
set(gca,‘XTick’,[0:1:10]);%设置要显示坐标刻度
set(gca,‘XTickLabel’,[0:1:10]);%给坐标加标签

使用plot()绘制一个图形,如我们在MATLAB命令窗口中输入代码:
a= linspace(-15,0.1,15); %坐标刻度-15~15、间距0.1
b=sin(a);
plot(a,b)
将绘制一个横坐标-15到15的正弦函数曲线图。

使用xticks()函数,xticklabels()函数,以及yticks()函数在指定位置显示横坐标和纵坐标刻度值,间距可以不一致。
xticks([-3pi -2pi -pi 0 pi 2pi 3pi])
xticklabels({‘-3\pi’,‘-2\pi’,‘-\pi’,‘0’,‘\pi’,‘2\pi’,‘3\pi’})
yticks([-1 -0.9 -0.5 0 0.4 0.7 1])

旋转横坐标和纵坐标标签或刻度的角度,使用xtickangle()函数和ytickangle()函数
a= 511rand(1,33);
b=rand(1,33);
scatter(a,b,'r
’)
xtickangle(50)
ytickangle(80)
在这里插入图片描述

6、颜色

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ 云原生 | Docker ] 构建高可用性的 SQL Server:Docker 容器下的主从同步实现指南

文章目录 一、前言二、SQL Server 主从同步的原理介绍三、具体的搭建过程3.1 准备工作3.1.1 卸载旧版本(如果有,可选,非必须)3.1.2 安装 Docker3.1.3 验证本地 Docker 是否安装成功 3.2 创建 Docker 网络3.3 创建主从节点的 SQL S…

部署环境从docker swarm迁移到k8s后kie-server的发布方式变化(二)

正如后来的考虑, 如果外接maven私库照理说是ok的, 这样去掉volume的设计整个流程更加的自动化标准化. 开搞 第一步先部署一个nexus yaml文件如下: apiVersion: v1 kind: Namespace metadata:name: nexus---apiVersion: v1 kind: Service metadata:labels:k8s-app: nexusname…

【数据结构与算法】八大排序

[数据结构与算法]八大排序 数据结构与算法-八大排序排序的概念及其应用排序的概念排序的应用 常见的排序算法实现常见的排序算法插入排序直接插入排序希尔排序(缩小增量排序)希尔排序的时间复杂度希尔排序对插入排序的优化效果 选择排序直接选择排序堆排序向上调整建堆&#xf…

【C语言】从n个字符串中匹配查找abc字符串个数

目录 前言知识点重温1、scanf和scanf_s区别2、指针3、char、char*使用查找字符串收尾前言 这是小5聊的《C语言知识点例子》系列的第四篇文章。 在软件行业已经有快十年,技术虽然一般般,但是足够应付和解决编程入门的相关问题! 都说十年磨一剑,积累到一定经验,是时候发挥自…

数据库基础篇 《1. 概述》

目录 1. 为什么要使用数据库 2. 数据库与数据库管理系统 2.1 数据库的相关概念 2.2 数据库与数据库管理系统的关系 2.3 常见的数据库管理系统排名(DBMS) 2.4 常见的数据库介绍 3. MySQL介绍 3.1 概述 3.2 MySQL发展史重大事件 4. RDBMS 与 非RDBMS 4.1 关系型数据库…

Delphi Web Server 流程分析

通过向导 "Web Server Application" (选择 "Stand-alone GUI Application") 创建一个 WebServer Demo。 主单元代码: ...... private FServer: TIdHTTPWebBrokerBridge; procedure StartServer; ............. Delphi的网络组件是基于INDY的&a…

项目四:无极调光台灯

项目四:无极调光台灯 文章目录 项目四:无极调光台灯一、导入(5分钟)学习目的 二、新授(65分钟)1.预展示结果(5分钟)2.本节课所用的软硬件(5分钟)3.硬件介绍(5分钟)4.图形化块介绍(10分钟)5.单个模块的简单使用(10分钟)6.无极调光台灯编程逻辑…

SQLServer的内存管理架构

内存管理架构说明 一、Windows的虚拟内存管理器二、SQL Server 内存体系结构2.1、传统(虚拟)内存2.2、地址窗口扩展 (AWE) 内存 三、从 SQL Server 2012 (11.x) 开始发生的改变3.1、对内存管理的更改3.2、对…

【网络原理】TCP/IP协议

目录 1.应用层 2.传输层(核心问题) 2.1 UDP协议 2.1.2 UDP的特点 2.1.3 基于UDP的应用层协议 2.2 TCP协议(重点内容) 2.2.1 TCP/IP 协议含义 2.2.2 TCP协议端格式: 2.2.3 TCP的特点 2.3 TCP原理 2.4 确认应…

Fork/Join优化mybatis-plus批量插入性能

最近在项目开发中,遇到需要一次性保存100万数据到数据库中。想到以下几种实现方式: 第一种方案:在mapper文件中,实现批量插入动态SQL语句,采用insert into table_name values(?,?,?,),(?,?,?)拼接SQL方式。 &l…

HTTP中ETag语法及使用实战详解

1.1 ETag 是什么 ETag(Entity Tag)是万维网协议 HTTP 的一部分。它是 HTTP 协议提供的若干机制中的一种 Web 缓存验证机制,并且允许客户端进行缓存协商。这使得缓存变得更加高效,而且节省带宽。如果资源的内容没有发生改变&#x…

电脑网速慢怎么解决?4个方法有效提升电脑网速!

案例:电脑网速慢怎么解决 【谁懂啊!我的电脑网速太慢了!总是上不了网,打开浏览器也是一直在转圈圈!太折磨了!这是为什么呢?谁能帮帮我呀!】 随着互联网的发展和普及,电…

继续学c++

由于c里面有很多和c语言很像的东西,这里就来总结一点不像的或者要注意的,或者是我已经快忘记的; 先来一个浮点型也就是实型类型的总结; 知道浮点型有这两个类型:float和double型; 然后float型占四个字节…

To B第六年,腾讯过分温柔

腾讯做2B,方向是正确的,初心是果决的,行动是温柔的,事实是掉队的。 2018年,率先打出“互联网的下半场属于产业互联网”的大旗,宣布“拥抱产业互联网”,腾讯发力To B业务,绝对是有先发…

HTB-Jarvis

HTB-Jarvis 信息收集80端口 www-data(sqlmap)www-data(myPhpAdmin)www-data -> pepperpepper -> root 信息收集 80端口 目录扫描 我啥也没干咋就被ban了,可能是gobuster流量太大被逮住了。 老老实实等90秒,先从已有的目录收集信息。 phpMyAdmin 4…

X 态及基于 VCS 的 X-Propagation 检测

🔥点击查看精选 IC 技能树系列文章🔥 🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥 📢 声明: 🥭 作者主页:【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#…

Lightroom Classic2022图文安装教程

Lightroom Classic是一款专业的数字照片处理软件,具有数字照片编辑、照片整理和管理、批量处理、智能预览、输出等特点。 该软件适用于摄影师和数字照片后期处理爱好者,可以帮助用户提高处理效率和照片质量。 Lightroom Classic是Adobe公司推出的系列软…

ai智能写作软件哪个好-ai智能写作免费

人工智能自动写作软件 人工智能自动写作软件是如今数字营销领域中备受瞩目的一种工具。无论是网络文章、博客、报告、新闻稿或者其他一些营销内容,人工智能自动写作软件可以以相当高的速度和质量将其生成,从而释放人类营销人员的时间和精力。 尽管自动写…

深度学习实战案例:基于 AutoRec 构建电影推荐系统( 附 PyTorch 版代码)

文章目录 技术交流前言AutoRec 模型介绍损失函数基于 AutoRec 的推荐过程实验对比消融实验代码实践总结参考 本文要介绍的 AutoRec 模型是由澳大利亚国立大学在2015年提出的,它将自编码器(AutoEncoder)的思想与协同过滤(Collaborative Filter)的思想结合起来&#x…

GitHub 创建 Pull Request 将代码提交至别人的仓库

GitHub 创建 Pull Request 将代码提交至别人的仓库 1 Forking the repository 1.1 About forks (关于 forks) A fork is a new repository that shares code and visibility settings with the original upstream repository. A fork 是一个新的存储库,它与原 ups…