容易忘记的小知识点:

Matlab程序首行程序:

clear;close all;clc;程序运行开始最好清理下之前残留的各种数据,不然matlab可能会出错。

clear(清理变量空间),close all(关掉所有显示的图像figure),clc(清理命令窗口中的显示)

Matlab程序换行(一个空格加上3个.即 ...然后直接下一行就可以继续写代码)

Matlab下程序计时

如下:tic和toc可以在程序中使用多个,计算各个程序字块的运行时间。还可以嵌套使用。。。

tic;%计时开始
%%%%%%%%%%%
程序
%%%%%%%%%%%
toc;%计时结束

tic和toc可以嵌套使用,都是找最近的toc总是找最近的tic,类似于if end的配合,如果想直接输出运行时间,只要类似于 disp(['拷贝去冗余的数据共花费时间:',num2str(toc)]);,即可。

Matlab查询数据类型

class

Matlab提取当前运行程序的文件名

由于程序偏多,运行了一堆,都不知道正在跑那个程序,在程序开头加上后面这段代码,就可以了。

clear;close all;clc;
disp('当前正在执行的程序是:');
disp([mfilename('fullpath'),'.m']);

  

流程控制:

数据操作:

数值取整:

matlab中共有四种数值取整,含义分别如下:

fix(x),   将x向0取整

round(x),  向最近的整数取整

floor(x),    向负无穷取整

ceil(x),      向正无穷取整

取随机数:

取随机的排列:

randperm:

Syntax
p = randperm(n)
p = randperm(n,k)
Description
p = randperm(n)返回一个包含从1到n随机排列整数的行向量
p = randperm(n,k)返回一个包含从1到n随机排列整数中k个独特整数的行向量

数据类型转换:

数据转为整型:有符号)(无符号

字符串操作:

比较两个字符串是否相等:

 合并字符串:

初始感觉这函数就跟[]的作用差不多,但后面看了描述才知道,这函数应用更广,毕竟中括号[],只能合并一行字符串,函数strcat可以同时处理多行的array、cell、string。

数组操作:

判断数组是否为空:

isempty(A):如果数组A为空,返回logical 1(true),否则返回logical 0 (false).这个函数经常配合其余的函数一起使用(处理其它函数的返回值),加在if后面起到判断作用

求数组均值:

mean:默认是1,按列求均值。

整块复制数组:

repmat(A,m,n):整体按行扩展m倍,按列扩展n倍

结构体:

cell:

文件、文件夹操作:

图像操作:

显示:

改变imshow出来的图片的数字标题,为自己想要的信息,这样在同时显示大量的图片的时候,方便了解图片的信息。

    figure;imshow(frameSamp1);
set(gcf,'NumberTitle','off');
set(gcf,'Name','读取出的视频中的第一帧');

把上面的 读取出的视频中的第一帧,改为自己想要的汉字即可。

 图片用更大尺寸imshow(类似于上面,在imshow后面加入下面的语句)

set(gcf,'outerposition',get(,'screensize'));%这应该就是全屏显示的意思

上面这两个可以结合使用

imwrite图片到到指定的文件夹,如下,直接把完整的绝对路径包含文件名用中括号[]括起来就可以

tempBlack为图片,后面[]包含的为绝对路径加文件名

imwrite(tempBlack,[savePathNo1,savePathNo2{},'\',savePathNo3{i+1},'\',saveNameNo1{font},num2str(videoCount-2), ...
saveNameNo2{type},num2str(i),'Black',num2str(j),'.jpg']);

在一个图片中显示多个子图:

figure;
subplot(2,3,1),imshow(sampPic);
subplot(2,3,2),imshow(tempBlack);
subplot(2,3,3),imshow(tempWhite);
subplot(2,3,4),imshow(tempBitBlack);
subplot(2,3,5),imshow(tempBitWhite);
set(gcf,'NumberTitle','off');
set(gcf,'Name','截取的一个小块的变换');

  

subplot配合使用title

 figure;
subplot(,,),imshow(f1);
title('原始图片');
subplot(,,),imshow(f2);
title('要被减的图片');
subplot(,,),imshow(f3);
title('差值图片'); f31=f3(:,:,);
subplot(,,),imshow(f31);
title('差值图片第一维');
f32=f3(:,:,);
subplot(,,),imshow(f32);
title('差值图片第二维');
f33=f3(:,:,);
subplot(,,),imshow(f33);
title('差值图片第三维'); set(gcf,'NumberTitle','off');
set(gcf,'Name','所有的数据展示');

 数据可视化:

GUI:

修改已经生成的fig

在命令窗口中输入guide,然后选择existing fig

新建 gui  open existing gui

在每个控件的Callback的最后面加上guidata(hObject,handles);这句是保存这个控件的所有内容的意思,方便别的控件调用。在别的控件前面加上handles = guidata(hObject);,就可以调用别的函数

GUI:函数

打开指定的文件

[handles.FileName,pathName] = uigetfile('*.jpg','Select the jpg file','D:\');
% handles.FileName就是文件名
% PathName就是路径
%默认打开jpg格式的图片
%文本框显示为Select the jpg file
%默认打开的路径为D盘

在界面当中显示文本。

选中Static Text,然后对应的Tag

set(handles.text11,'String',[pathName,pictureNameList(pictureNo+).name]);%在界面显示当前显示图片的完整绝对文件名

后面就是一个字符串就行[pathName,pictureNameList(pictureNo+2).name]

Matlab编程知识点的更多相关文章

  1. MATLAB 编程风格指南及注意事项

    MATLAB编程风格指南Richard Johnson 著Genial 译MATLAB 编程风格指南Richard JohnsonVersion 1.5,Oct. 2002版权: Datatool 所 ...

  2. 【Matlab编程】哈夫曼编码的Matlab实现

    在前年暑假的时候,用C实现了哈夫曼编译码的功能,见文章<哈夫曼树及编译码>.不过在通信仿真中,经常要使用到Matlab编程,所以为了方便起见,这里用Matlab实现的哈夫曼编码的功能.至于 ...

  3. 一些matlab教程资源收藏,使用matlab编程的人还是挺多的

    Matlab教程专题资源免费下载整理合集收藏 <MATLAB从入门到精通>高清文字版[PDF] 103.9MB 简体中文 <矩阵实验室>(Mathworks.Matlab.R2 ...

  4. MATLAB编程技巧

    [摘要] MATLAB是一种科学计算语言,和C.Fortran等高级语言相类似,能方便的实现程序控制.以下介绍一点matlab编程的技巧. 嵌套计算 程序执行的速度取决于调用的子程序的个数和算法实现. ...

  5. VMware 虚拟机的虚拟磁盘编程知识点扫盲之二

    目录 目录 前文列表 VDDK 安装 VDDK VixDiskLib VADP 前文列表 VMware 虚拟机的虚拟磁盘编程知识点扫盲之一 VDDK 摘自官方文档:The Virtual Disk D ...

  6. PID各环节的意义和功能,自带PID的matlab编程实例

    这是PID的标准形式包括比例/积分/微分三部分,e为偏差 下面我们分析三个环节的作用,设:当前系统状态A,目标状态B, e=B-A,初始状态e>0 (以下是个人的理解,欢迎读者评论) 1 比例环 ...

  7. Matlab编程基础

    平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...

  8. Todd's Matlab讲义第2讲:Matlab 编程

    Matlab也可以编程,可存为以.m为后缀的文件,称为M文件.M文件有两种:函数和脚本. 函数程序 点击新建图标,在打开的窗口里输入如下内容: function y = myfunc (x) y = ...

  9. 【Matlab编程】Matlab高效编程技巧

    1.默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系. 2. 一只失明的猫的问题:注意方法! 3.给数组预分配空间是基本的高效编程准则之 ...

随机推荐

  1. Hibernate 系列 05 - Session 类

    引导目录: Hibernate 系列教程 目录 前言: Session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库的存取都与Session息息相关. 就如同在编写JDBC时需要关 ...

  2. Microsoft Visual SourceSafe 6.0 无法关联项目

    最近遇到Microsoft Visual SourceSafe 6.0 安装好以后, 无法关联项目,导致无法进行版本控制,研究以后,发现需要运行一个程序,在安装目录下 ..\Visual Source ...

  3. Java并发之原子变量和原子引用与volatile

    我们知道在并发编程中,多个线程共享某个变量或者对象时,必须要进行同步.同步的包含两层作用:1)互斥访问(原子性):2)可见性:也就是多个线程对共享的变量互斥地访问,同时线程对共享变量的修改必须对其他线 ...

  4. Linq To SQL 的问题点滴

    String 类型的字段问题 String类型的字段生成的SQL 没有判断为空的情况时 生成的SQL: 这里判断为空的逻辑很明显不是本来的意思.   左关联 SQL关联中经常会用到左关联,那么Linq ...

  5. CANopen学习——PDO

    查找资料时,发现一个很好的博客,博主剖析的通俗易懂 http://www.cnblogs.com/winshton/p/4897556.html   PDO定义: 过程数据对象,用来传输实时数据.因为 ...

  6. Android Studio导入Project、Module的正确方法

    Gradle Project项目.Module模块导入 最近看到网上很多人在抱怨,Android Studio很难导入github上下载下来的一些项目,主要包括: 1.导入就在下载Gradle2.根本 ...

  7. 00 Cadence学习总目录

    这个系列是我学习于博士CADENCE视频教程60讲时,一边学一边记的笔记.使用的CADENCE16.6. 01-03课 了解软件 创建工程 创建元件库 分裂元件的制作方法 04课 正确使用hetero ...

  8. 通过form表单的形式下载文件。

    在项目中遇到问题,要求动态拼接uri下载文件.但是由于项目的安全拦截导致window.location.href 和 window.open等新建窗口的方法都不行. 无意间百度到了通过form表单来下 ...

  9. GO语言总结(2)——基本类型

    上篇博文总结了Go语言的基础知识——GO语言总结(1)——基本知识  ,本篇博文介绍Go语言的基本类型. 一.整型 go语言有13种整形,其中有2种只是名字不同,实质是一样的,所以,实质上go语言有1 ...

  10. ZooKeeper 笔记(6) 分布式锁

    目前分布式锁,比较成熟.主流的方案有基于redis及基于zookeeper的二种方案. 大体来讲,基于redis的分布式锁核心指令为SETNX,即如果目标key存在,写入缓存失败返回0,反之如果目标k ...