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…

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

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

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

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

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

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

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

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

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

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

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

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

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不建议使用的&#…

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

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

Mac安装软件报“打不开。。。,因为它来自身份不明的开发者”的解决办法

问题描述 在Mac上安装git,双击pkg进行安装,报如下图错误: 解决办法 不要双击pkg文件,改成选中文件之后,鼠标右键,选择“打开方式->安装器(默认)”,即可继续安装。 转载…

模型预测控制c语言程序_搭建第一个程序控制电路LED灯,体会C语言的魅力

学习C语言,先从读程序开始!这一点是过来人的经验之谈。本文建议大家选择一款图形编程软件,本文选择了Mixly。一、首先,介绍一下arduino UNO控制器内部电压的问题。v 高电平(5V):对应数值是1,输入状态3.5V-5…

s丅7318是啥芯片_透彻解析LED驱动芯片HT1632C指令集与驱动编程

HT1632C是一款很常用的LED(数码管或点阵)驱动芯片,虽然官方已经宣布该芯片明年(2021年)即将寿终正寝(停产),但是相同厂家生产的同系列芯片的控制方式通常是相同的(事实上,大多数LED驱动芯片差别也不大),所以了解HT1632C的控制原理…

服务器显示不明用户远程过,服务器显示不明用户远程过

服务器显示不明用户远程过 内容精选换一换Windows操作系统云服务器蓝屏,如图1所示。使用了来源不明的第三方软件。CPU占用过高导致。因为误操作或者病毒引起的系统文件、注册表损坏。操作系统在蓝屏的情况下,会显示对应的bugcheck code以及可能的导致蓝屏…

微信小程序定义全局变量_微信小程序第二天学习内容分享

微信小程序的生命周期文件的配置在app.js文件中;方法:onLaunch,onShow,onHideapi链接:https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onHideonError,当前也可以自定义,用console测试事件的执行情况&a…

java环境配置—配置Tomcat8环境

先安装JDK,配置好jdk环境后再配置Tomcat 8配置环境变量:TOMCAT_HOME:D:\Program Files\apache-tomcat-8.0.28  CATALINA_HOME:D:\Program Files\apache-tomcat-8.0.28  CATALINA_BASE:D:\Program Files\apache-tomcat-8.0.28修改CLASSPAT…

ios13苹方字体ttf_字体 | iOS1013 SF Compact Rounded 英文 By alex

最近沉迷游戏,差点忘记了这个英文。嗨呀,问就是在玩了,啊不,在做了。这个英文来自推特alexman,原版包含100和85大小,本次分享新增到了100-60,每5%一个大小。gzh分享已经获得alex授权&#xff0c…

10双屏鼠标过不去_灵耀X2 Duo双屏笔记本是怎样“炼”成的?对话华硕笔记本设计团队...

2020年的CES上,华硕推出了一款灵耀X2 Duo笔记本,灵耀X2 Duo采用了和灵耀X2 Pro相同的屏幕技术,C面同样采用了一块ScreenPad Plus副屏,机身也更轻更薄。如今灵耀X2 Duo的处理器升级至英特尔第十代酷睿,正在参与“618”大…

理解 OpenStack 高可用(HA) (6): MySQL HA

本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)Neu…