抽空看了Matlab官方文档,并配合郭老师的课程,把Matlab语言系统梳理了一遍。先上资源:

bilibili良心搬运大法:

MATLAB_台大郭彦甫-视频教程

知乎盐选推荐基础教程:

MATLAB 2016_基础实例教程

以下记录了一些matlab的技巧。

【1】基础操作

1.1 命令行操作

  • whos:查看存在的变量名和形态
  • clear all / clear 变量名:清除全部/某变量
  • clc:清除命令窗口内容
  • close all:关闭画图窗口

1.2 输出精度:format +变量精度

  • format + long/short:64位/32位
  • format + Rat:分数
  • format + longE/shortE:64/32位科学计数法

1.3 vector/matrix

matlab的默认一维数据是列vector。所以对matrix的命令,返回值都和列相关。

A = [1 3; ...4 5; ...9 8]
max(A):9 8     %查找列vector的最大值
sort(A): []    %每列vector升序排列
length(A): 2   %有几列vector

1.4 matrix基本运算

  • matrix对应元素加减乘除:+、-、 .* 、./
  • 单位阵:eye(n)
  • 零阵:zeros(n1,n2)
  • 全1阵:ones(m1, m2)

1.5 调试

  • 打印变量:disp()
  • “%%”代码分块,【run section】可以只运行某一个代码块。

【2】总结的技巧

2.1 pre-allocation提高运算速度

虽然matlab是动态语言,但是【预先分配变量】可以明显提高运算速度。

例如:section1中预定义了A = zeros() ,比 section2 的运算速度快了近40倍。

2.2 struct+cell 模态

【struct】

struct('fieldname', 'value'),和数据表很像,常用操作:

  • fieldnames (struct) 查找字段名
  • rmfield(struct, fieldname),删除字段名
  • isfield(struct, fieldname) 查找字段

【cell】

Acell{1,1} = [1 2 3], Acell{1,2} = 'abc'.
Acell{1,3} = 1:1:10,  Acell{1,4} = [].

cell本质是一个pointer, 因此可以存放不同形态的变量,可以参考C语言中的指针。

【struct + cell】

自己做实验采集的数据会面临数据按结构存储的问题。为了解决【每个subject实验中数据量不同,且每个实验样本数据的长度不一】等问题,我使用了struct嵌套cell的好办法:

Subject(1).Name = 'Liming';
Subject(1).Age = 26;
Subject(1).Data{1,1} = {};
Subject(1).Data{1,10} = {};  % 10 trialsSubject(2).Name = 'Jenny';
Subject(2).Age = 30;
Subject(2).Data{1,1} = {};
Subject(2).Data{1,6} = {};

2.3 数据IO

自己平时和. csv文件交互较多,matlab常用的csvread()只能读取number,无法读取header。为了保证读写的完整性,常用如下方法:

【Input】

importdata( 'file.csv' )

data存数据,textdata存header。

【Output】

利用底层的 fopen, fprintf, fclose组合进行操作。

x = 0:pi/10:pi;
y = sin(x);
fid = fopen('TestSin.csv','w');
fprintf(fid,['%s',',','%s','n'],'X','Y') % header
for i = 1:11fprintf(fid, ['%f',',','%f','n'], x(i),y(i)); % number
end
fclose(fid);

2.4 cat() 数据拼接

【3】画图

3.1 plot

感叹Matlab画图的功能是真的强大!虽然看起来比较繁琐,但是捋清了显示一幅图像的过程,画图其实也是模块化步骤。

一张图被分为:Figure、Line、Decoration三个部分。

Figure Object包括:图片大小、位置等

Line Object包括:线条颜色、粗细等

Decoration Object包括:标题、标注等

gcf和gca句柄,利用get()函数查看可编辑参数;set()函数修改每个参数。

【Figure Object】

f = figure
h = plot([1,2,3]);
get(gcf);   % figure object
h;          % line object
get(gca)    % decoration object

get(gcf)显示了figure object的所有参数:

set(gcf, 'para','state')可以调整任意参数。

【Line Object】

【Decoration Object】

3.2 Colormap

colormap()返回的是color矩阵,例如:a = colormap(hot)

hot/cool/gray/hsv是不同的色盘,选择不同的色盘可以返回对应的颜色矩阵。

3.3 图片输出

print(figure(1),'figure_name','-dpng','-r900')。其中:-dpng和-r900是格式和分辨率。

其他图片格式如下:

以上是我记录的编程技巧。如果想看更全面的学习笔记,我推荐一个CSND博主:

台湾国立大学郭彦甫Matlab教程笔记​blog.csdn.net

matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1相关推荐

  1. MATLAB中利用ncread函数读取nc文件

    MATLAB读取NC文件 一. 目的: 了解NETCDF文件,学会利用MATLAB读取NETCDF文件 二.  撰写时间 开始时间:2016年12月03日 完成时间:2016年12月09日 三.知识储 ...

  2. matlab中nc文件,MATLAB读取.nc文件

    clc clear ncFilePath='E:\批处理读取NC文件-MATLAB语言\1NC文件\VIC_Output_China_evap_1952.nc'; %% 显示结构 % ncdisp(n ...

  3. matlab创建nc文件怎么打开,MATLAB打开nc文件并读取nc文件数据

    MATLAB打开nc文件 ncdisp('E:\**\**.nc') 输入该命令后命令行窗口会显示该nc文件的基本信息 MATLAB读取nc文件 根据上一步中nc文件的基本信息提取nc文件的相应数据. ...

  4. MATLAB:读取nc文件并将nc文件转为tif文件输出

    NC(NetCDF network Common Data Form,译为"网络通用数据格式") 文件是将多个时段的数据存储在一个文件当中. 内容格式如下: •从数学上来说,net ...

  5. MATLAB打开nc文件并读取nc文件数据

    MATLAB打开nc文件 ncdisp('E:\**\**.nc') 输入该命令后命令行窗口会显示该nc文件的基本信息 MATLAB读取nc文件 根据上一步中nc文件的基本信息提取nc文件的相应数据. ...

  6. ncl批量处理多个nc文件_利用MATLAB读取NC文件并绘图

    最近需要对很多NC 文件进行绘图,通常情况下,我一直用GMT,不过不知道为什么,笔记本上的GMT 用不了了,可能是版本的问题,但是我下了很多版本都无法使用,画出来的图都有问题.由于笔记本安装硬盘也就2 ...

  7. MATLAB 批量读取NC文件并转为TIF文件

    因为课题处理30年的降雨和蒸发的遥感资料(.NC格式),而想要在Arcgis中处理要求的是raster格式的,所以需要批量转化为tif文件,所以在此分享自己改编之后的代码,可以简洁明了的实现这个过程: ...

  8. 学习笔记_ncl_读取nc文件中的变量_制作nc文件的方法

    由于生成的文件较大较多,在超算上不方便使用matlab,只好向ncl势力低头 目的是在超算上对相关结果进行第一步简单处理后,下载到pc上再进行其他处理 ncl新手 如果是从已有的nc文件中读取变量到新 ...

  9. MATLAB读取nc文件并转换为.tif格式

    MATLAB读取nc文件并转换为.tif格式 1. 博文目的 (1)利用matlab读取nc文件,并将nc文件转换为.tif文件 2.时间 (1)开始时间:2017年04月08日 (2)结束时间:20 ...

最新文章

  1. 最后3天,BDTC 2019早鸟票即将售罄,超强阵容及议题抢先曝光!
  2. 你写的接口都测试吗?测什么?怎么测?
  3. C51位运算应用技巧
  4. 北航算法作业一 约瑟夫环问题
  5. JavaWeb总结(四)—JSP深入解析
  6. python中接口测试垃圾数据如何清理_接口测试---Python数据处理需要注意的细节
  7. python haskell 使用对比_性能-为什么这个Haskell程序比等效的Python程序慢得多?
  8. 依图笔试2020/8/28,我是机器人(AC)、多彩珠子最长子串长度(AC)
  9. Linux 命令之 ll -- 列出当前文件或目录的详细信息
  10. pppd 源码修改1
  11. Java 网络实例二(查看主机指定文件的最后修改时间、Socket实现多线程服务器程序、Socket连接到指定主机、网页抓取)
  12. Matplotlib 命令总结
  13. CPU acceleration status:HAXM must be updated(version 1.1.16.0.1)
  14. 为什么我一直强调大家要两条腿走路?
  15. 关于XSS的一些介绍
  16. music 算法 c语言,频率估计方法——MUSIC和ROOT-MUSIC算法(附代码)
  17. 从零开始教你成为装机大神
  18. Midas GTS NX To 3DEC网格转换程序
  19. 人工智能研究中心快递柜——代码分析六
  20. nginx 按天分割日志

热门文章

  1. Win11正式发布新功能
  2. Spring Cloud Greenwich 新特性和F升级分享
  3. wampserver 安装phpredis扩展
  4. struts2.1.6出现at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading
  5. POJ3041_Asteroids
  6. 【贪心】【AOJ-02】Home Work
  7. Weighted Slope One 算法
  8. VC限制只能输入常规数字的CEdit控件
  9. Flutter AnimatedBuilder 的基本使用
  10. Mr.J--代码雨( Matrix)