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

抽空看了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】可以只运行某一个代码块。

47c879b2ff4fffcc9b3bb9c2cb254128.png

【2】总结的技巧

2.1 pre-allocation提高运算速度

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

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

98af2024ec2f7da16eccba62ee90952f.png

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} = {};

ffe3e03e5b9217391fa219d3bc6d7f86.png

2.3 数据IO

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

【Input】

importdata( 'file.csv' )

ed41bd157cabbfe6a020cb9394df7348.png

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() 数据拼接

0b58113ee84eac37b6d99a7442476c65.png

【3】画图

3.1 plot

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

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

ad4a8489ac8dfb2156ac86d96fb154b7.png

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的所有参数:

3a1e5430e5c41a88ad6aab460517646e.png

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

【Line Object】

d3b3a57deb1250bbf16f50865366eeed.png

【Decoration Object】

1e680480e0c81f3fd4d3c8c1b5d6de6d.png

3.2 Colormap

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

ec7a2a876e5e8e7e984e49d4c8f34b4f.png

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

1b85af608b2122a795cb2dde2dd97c43.png

3.3 图片输出

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

其他图片格式如下:

48e3d674f2c68833fa632b99d6033904.png

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

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

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

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

相关文章

采用CXF+spring+restful创建一个web接口项目

这篇文章是http://blog.csdn.net/zxnlmj/article/details/28880303下面,加入的基础上的restful特征 1、参加restful必jar包裹 jsr311-api-1.0.jarCXF与JAX-RS版本号相应问题,參考自:http://bioubiou.iteye.com/blog/1866871 CXF支持REST风格的Web服务&am…

计算机结构介绍,计算机系统结构介绍.pdf

第三次作业5.7 一条线性流水线由4 个功能段组成,每个功能段的延迟时间都相等,都为 。开始5t个 ,每间隔一个 向流水线输入一个任务,然后停顿2 个 ,如此重复。求流水t t t线的实际吞吐率、加速比和效率。(10 分)…

古风一棵桃花树简笔画_为什么,很多农村家庭的院子里,会喜欢种一棵樱桃树呢?...

小伙伴们去农村的时候,应该都会注意到几乎每家每户的院子里都会种有几棵树吧。如果小伙伴们认真观察的话,你们可以发现很多农村家庭的院子里都有种一两棵樱桃树。那么这是为什么呢?是因为樱桃比较好吃吗?是有这个原因的&#xff0…

Python【02】【基础部分】- B

1、作用域 变量只要在内存存在,就可以被使用 。(栈) 1 if 1 1: 2 name kim 3 print name 个例:item的值为字典循环后最后一个key的值 1 name {xiaoming:12,xiaohua:15,xiaoli:11} 2 for item in name: 3 print item 4 …

计算机用语优秀怎么算,计算机专业用语

computer-hardware~计算机硬件motherboard~主板cpu(central~processor~unit)-中央处理器memory-存储器,内存条monitor~显示器mouse~鼠标keyboard~键盘peripheral-外部设备printer~打印机scanner~扫描仪speaker~音响RAM(Random access memory)随机存储器hard~disk 硬…

冯诺依曼机器人_冯·诺依曼型计算机的五大组成部分是什么?

在DSP算法中,最大量的工作之一是与存储器交换信息,这其中包括作为输入信号的采样数据、滤波器系数和程序指令。例如,如果将保存在存储器中的2个数相乘,就需要从存储器中取3个二进制数,即2个要乘的数和1个描述如何去做的…

(转)数字格式化函数:Highcharts.numberFormat()

一、函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制、小数点符、千位符显示控制等。二、函数使用1、函数构造及参数Highcharts.numberFormat (Number number, [Number decimals], [String decimalPoint], [String thousandsSep])参数列表number 需…

usb3.0 ssd 测试软件,SSD打造的移动硬盘,顺便测下USB2.0、USB3.0、SATA2.0、SATA3.0传输速度...

本帖最后由 神经病的春天 于 2014-9-18 15:36 编辑近来升级了一下主机,这样一来,终于能够拥有USB3.0和SATA3.0接口了,不过本人目前还木有SSD,所以尚无法完全发挥出这些接口的速度优势。 为了测试,上周的时候&#xff0…

cad图层管理插件_设计大神CAD常用七个插件你会用几个?

如果你需要这些CAD插件,可以私信我,小编会及时发给大家​​ 说道CAD插件可能会被人们熟知的也就那几个,可是据统计CAD插件多达上百个,那么在这上百个插件中你又会用几个呢?下面就让我们看看大部分设计师常用的插件有哪…

笔记本显示器仅计算机,别只玩性能 笔记本屏幕怎么进化才靠谱?

1分辨率升级2K不合适一直以来,屏幕显示效果都是笔记本电脑的弱项。近几年笔记本电脑的变化更多是性能以及外观设计的变迁。诸如游戏本以及超极本等产品,在屏幕的优化上,表现都是差强人意。很多人手中的笔记本都是TN屏幕的产品,在显…

PHP - 图像处理

第14章 处理图像 学习要点: 1.创建图像 2.简单小案例 在PHP5中,动态图象的处理要比以前容易得多。PHP5在php.ini文件中包含了GD扩展包,只需去掉GD扩展包的相应注释就可以正常使用了。PHP5包含的GD库正是升级的GD2库,其中包含支持真…

计算机专业刚毕业本科生,计算机专业应届本科毕业生自我鉴定

计算机专业应届本科毕业生自我鉴定四年的大学生活是我人生这条线上的一小段,是闪闪发光的一段,它包含了汗水和收获,为我划平人生的线起着至关重要的作用。四年大学生活已接近尾声,感觉非常有必要总结一下大学四年的得失&#xff0…

佳能c3320怎么设置接收方_入门级单反相机佳能800D是否值得买?在我看来价格决定一切...

佳能入门级单反相机800D是否值得买看了就清楚旺灵龙如果你是一位刚刚准备购买数码单反相机的入门小白,佳能最新的EOS 800D的肯定是你现在最容易拿来对比的选择。新相机在性能与操作便利性方面的良好结合,无疑将是入门级单反性价比最高的一款机型。佳能(C…

Objective-c @property和@Synthesize

在Objective-c中,使用property来标识属性(一般是实例变量)。在实现文件中使用synthesize标识所声明的变量,让系统自动生成设置方法和获取方法。 也就是说property和synthesize配对使用,让系统自动生成设置方法和获取方…

文件上传控件 css,CSS3 自定义文件上传输入控件界面

CSS语言:CSSSCSS确定body{background: white;}.wrap {max-width: 60%;margin: 50px auto;}.file {position: relative;display: inline-block;cursor: pointer;height: 2.5rem;}.file input {min-width: 14rem;margin: 0;filter: alpha(opacity0);opacity: 0;}.file…

php接口返回一个数组怎末写_php api返回json数组

[PHP] 为JSON数据的API返回空数组或者空对象PHP 中,不管是 list 或者 dictionary 都使用一样的 [](或者 array()) 来定义。在使用 JSON 作为 API 数据 Content-Type 的时候,会有这样一个问题:如何返回一个空对象和一个空数组?使用…

stm8时钟源

下面4种时钟源可用做主时钟: 1-24MHz高速外部晶体振荡器(HSE)最大24MHz高速外部时钟信号(HSE user-ext)16MHz高速内部RC振荡器(HSI)128KHz低速内部RC(LSI)各个时钟源可单独打开或关闭,从而优化功耗。 (一)HSE 高速外部时钟信号可由下面两个时钟源产生&am…

nexus 仓库类型_Maven私服Nexus的搭建

私服存在的合理性Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类:本地仓库远程仓库,其中在远程仓库中又分成了3种:中央仓库 、私服、其它公共库。Maven用户直接连接远程仓库下载构件的做法是Maven不建议使用的&#…

用soapUI测试webservice

测试webservice时,有时需要写一个客户端来向服务端发起请求才可以测试服务,最近看到一款工具soap ui,也可以调试VS2010中的程序。 首先要把webservice 发布到本地,网上已经有发布本地的例子,这里就不细说了。发布之后&…

ae中心点重置工具_AE中图形绘制的6大技巧,简单易操作

AE中的图形系统和文字系统很相似,都有自己相对独立的一套基础动画系统。当我们打开AE软件,面对空白的面板,如何通过一步步的操作填充画面,做出酷炫的效果,这其中图形占据很大的比重,更不用说流行的MG动画&a…