码迷,mamicode.com
首页 > 其他好文 > 详细

Matlab编程知识点

时间:2015-07-24 22:19:04      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

容易忘记的小知识点:

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

Matlab下程序计时

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

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

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

Matlab查询数据类型

class 

 

字符串操作:

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

strcmpi:
Compare strings (case insensitive)

strcmpi(‘Yes‘, ‘No‘)
ans =
0
strcmpi(‘Yes‘, ‘yes‘)
ans =
1

strcmp
Compare strings (case sensitive)

strcmp(‘Yes‘, ‘No‘)
ans =
0
strcmp(‘Yes‘, ‘Yes‘)
ans =
1

 合并字符串:

strcat:

Description

combinedStr = strcat(s1, s2, ..., sN) horizontally concatenates strings in arrays s1, s2, ..., sN. Inputs can be combinations of single strings, strings in scalar cells, character arrays with the same number of rows, and same-sized cell arrays of strings. If any input is a cell array, combinedStr is a cell array of strings. Otherwise, combinedStr is a character array.

a = {‘abcde‘, ‘fghi‘};
b = {‘jkl‘, ‘mn‘};

ab = strcat(a, b)

MATLAB® returns
ab =
‘abcdejkl‘ ‘fghimn‘

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

数组操作:

判断数组是否为空:

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

技术分享

求数组均值:

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

 

技术分享

整块复制数组:

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

技术分享

 

取随机数:

取随机的排列:

randperm:

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

技术分享

数据类型转换:

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

技术分享

技术分享

 

 

图像显示:

技术分享

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

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

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

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

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

上面这两个可以结合使用

 

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

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

imwrite(tempBlack,[savePathNo1,savePathNo2{1},\‘,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

 1 figure;
 2 subplot(2,3,1),imshow(f1);
 3 title(原始图片);
 4 subplot(2,3,2),imshow(f2);
 5 title(要被减的图片);
 6 subplot(2,3,3),imshow(f3);
 7 title(差值图片);
 8 
 9 f31=f3(:,:,1);
10 subplot(2,3,4),imshow(f31);
11 title(差值图片第一维);
12 f32=f3(:,:,2);
13 subplot(2,3,5),imshow(f32);
14 title(差值图片第二维);
15 f33=f3(:,:,3);
16 subplot(2,3,6),imshow(f33);
17 title(差值图片第三维);
18 
19 set(gcf,NumberTitle,off);
20 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+2).name]);%在界面显示当前显示图片的完整绝对文件名

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

Matlab编程知识点

标签:

原文地址:http://www.cnblogs.com/yymn/p/4494529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!