抽空看了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

disp语句怎么格式 matlab_Matlab使用技巧总结-1相关推荐

  1. disp语句怎么格式 matlab_Matlab中disp和sprintf函数使用方法和区别介绍

    Matlab中disp和sprintf函数使用方法和区别介绍 作者:小安 来源:PC下载网时间:2020-08-17 17:48:55 相信各位都知道的,Matlab自带很多函数,用处各不相同,当中, ...

  2. disp语句怎么格式 matlab_讲座回顾:Matlab使用教程

    12月13日晚19:30,Matlab使用教程讲座在学院楼323如期举行.本次讲座的主讲人是来自大二的王海诚同学,他主要从基础知识.矩阵运算.流程控制和作图四个方面展开,介绍了Matlab的使用方法. ...

  3. java sql in语句_Java字符串转Sql语句In格式工具方法

    /** * 工具-字符串-转换Sql查询IN中使用的格式 * 效果:a,b==>'a','b' * @param str * @return */ public String strToDbin ...

  4. 将日期转成指定格式_Excel小技巧——如何利用公式,快速将一串数字转换为日期格式...

    Hello~大家好,上一节内容我们介绍了如何将不可修改的公式批量转换为可修改.可复制的文本小技巧,那今天,我们再接着上期内容,继续来了解一下如何利用公式,快速把一串数字转换成日期格式的小技巧! 可能会 ...

  5. 04 循环结构概述和for语句的格式及其使用

    04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do-while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环 ...

  6. JAVA中几种循环结构的表示_本文通过实例讲解给大家介绍Java中for、while、do while三种循环语句的区别,具体详情如下所示:第一种:for循环 循环结构for语句的格式...

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后 ...

  7. c语言输出函数语句,c语言输出语句及格式输出函数介绍

    c语言输出语句及格式输出函数介绍 发布时间:2020-04-17 09:59:48 来源:亿速云 阅读:75 作者:小新 这篇文章主要为大家详细介绍了c语言输出语句及格式输出函数,文中示例代码介绍的非 ...

  8. 格式转换小技巧全在这

    在日常生活中,我们经常会和格式转换产生各种纠葛!比如把MP4转换成MP3,比如把PDF转换成Word,这一篇经验就是分享格式转换的各种小技巧,有了这一篇经验格式转换不再愁,也不用再求人! 在线转换工具 ...

  9. wps斜杠日期格式_运用WPS处理日期数据格式的方法 wps日期格式设置的技巧

    运用WPS处理日期数据格式的方法 wps日期格式设置的技巧 为你介绍实用wps教程,如果快速掌握wps?为你整理经典实用的wps教程,图文并茂,希望能给读者们一些帮助. 在行政工作中,处理日期数据的时 ...

最新文章

  1. 函数的返回值-改造求和函数
  2. 深度学习String、StringBuffer、StringBuilder
  3. java 飞行记录器_Java 11功能– Java飞行记录器
  4. Android 折叠头部监听,抽屉式动画
  5. Leetcode--134. 加油站
  6. java实验四结果,java实验四异常处理.doc
  7. Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
  8. 《Managed DirectX +C# 开发(入门篇)》系列文章
  9. Spring Data JPA 条件查询 分页查询
  10. 使用Bash Bunny从被锁定的系统抓取登陆凭据
  11. 安装 LaserJet 1020 时这个设备的驱动程序丢失了一个必需的项,这可能是由于 inf 是为 Windows 95 或更新版本而写的。联系您的硬件供应商。
  12. 多元相关性分析_SPSS分析问卷数据的流程------一篇带你学会SPSS
  13. 基于微信小程序的投票系统源码
  14. 命名实体识别主要方法
  15. Balsamiq Mockups 入门教程
  16. springboot中使用poi-tl导出word(包含表格合并单元格)实例
  17. 苹果电池ti测试软件,iPhone真实电池寿命快速检测,比苹果官方测的还准!
  18. Vue | 显示切换(v-if与v-show,display,visibility与opacity)
  19. 行业洞察 | 小米发布人形机器人的AI技术
  20. 蓝牙的配对和连接的建立过程

热门文章

  1. barrons ap计算机科学,巴朗ap心理学barrons ap psychology, 5th edition-201-240.pdf
  2. java 各种数据类型的互相转换
  3. 计算机大赛横幅标语有趣的,有趣的横幅标语
  4. 【youcans 的 OpenCV 例程200篇】144. 基于灰度形态学的纹理分割
  5. 【OpenCV 例程200篇】24. 图像的仿射变换
  6. php请求api获取返回值,我用curl请求接口获取返回值,但是不成功,大神给看看怎么调取?...
  7. vue可以直接进行运算么_Vue实现计算器功能
  8. ap设置 维盟660g_New丨维盟双频百兆11ac入墙AP:WAP-3018穿墙效果不一样!
  9. python二维图颜色函数_Python绘图之二维图与三维图详解
  10. BurpSuit配置抓包http和https请求