matlab 常用技巧
2010-11-10 12:58
489 查看
2013.2.1
做一个figure 怎么设置第一行两个图,第二行三个图,而且这五个图大小一样?效果是图片里的那样
可以用subplot来做
2010-11-08 23:24:22
总结一些matlab日常使用的小技巧,方便的用法,随时更新
1. vertcat 用来垂直地连接矩阵
2. tic toc这二个函数可以获得程序执行时间,举个例子:
tic
for k=1:100
s=sum(k);
end
toc
结果:
Elapsed time is 0.000003 seconds.
3. function [ output_args ] = Untitled2( input_args )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
A = ['a bc 46 6 63 ghi 3 6';
'd ef 7 89 2 jk9 1 2']
B = sscanf(A, '%*s %*s %d %d %d %*s %d', [4, inf])
end
%每次读取一行,2代表A的行数,而%*s %d %d %*s表示读取每行前面4个组元。
%因为sscanf每次读取一个字符,而且读取的顺序是列优先从左到右的,然后同一列元素合为一个数
比如上面的例子中 476 689均为这样的数。
下面这个例子可以拿去佐证:
A = ['a bc 46 6 63 ghi 3 6';
'd ef 7 89 2 jk9 1 2']
B = sscanf(A, '%*s %*s %d %d %d %*s %d', [2, inf])
结果是B =
476 623
869 13
sscanf中用要求输入量内的元素必须严格等长,
像上面这样的用法我还没有用过,感觉没有什么大的用处。doc sscanf例子中不是给出了下面的用法:
for k = 1:2
C(k,:) = sscanf(A(k, :)', '%*s %d %d %*s', [1, inf]);
end
C
C =
46 6
7 89
4. 在matlab figure中用矩形框圈出感兴趣的区域
rectangle('Position',[100,300,70,50],'Curvature',[0,0],'LineWidth',2,'LineStyle','--','EdgeColor','r')
注释:rectangle('Position',[x,y,宽,高],'Curvature',[x曲率,y曲率],'LineWidth',‘线宽,'LineStyle','线型','EdgeColor','线色')
5. legend改变标注的位置
legend(....,'location','northwest')可以将标识框放置在图的左上角。
'North'
图例标识放在图顶端
'South' 图例标识放在图底端
'East' 图例标识放在图右方
'West' 图例标识放在图左方
'NorthEast' 图例标识放在图右上方(默认)
'NorthWest 图例标识放在图左上方
'SouthEast' 图例标识放在图右下角
'SouthWest' 图例标识放在图左下角
做一个figure 怎么设置第一行两个图,第二行三个图,而且这五个图大小一样?效果是图片里的那样
可以用subplot来做
subplot(2,6,[2 3]) imagesc(rand(10)) subplot(2,6,[4 5]) imagesc(rand(10)) subplot(2,6,[7 8]) imagesc(rand(10)) subplot(2,6,[9 10]) imagesc(rand(10)) subplot(2,6,[11 12]) imagesc(rand(10))
2010-11-08 23:24:22
总结一些matlab日常使用的小技巧,方便的用法,随时更新
1. vertcat 用来垂直地连接矩阵
2. tic toc这二个函数可以获得程序执行时间,举个例子:
tic
for k=1:100
s=sum(k);
end
toc
结果:
Elapsed time is 0.000003 seconds.
3. function [ output_args ] = Untitled2( input_args )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
A = ['a bc 46 6 63 ghi 3 6';
'd ef 7 89 2 jk9 1 2']
B = sscanf(A, '%*s %*s %d %d %d %*s %d', [4, inf])
end
%每次读取一行,2代表A的行数,而%*s %d %d %*s表示读取每行前面4个组元。
%因为sscanf每次读取一个字符,而且读取的顺序是列优先从左到右的,然后同一列元素合为一个数
比如上面的例子中 476 689均为这样的数。
下面这个例子可以拿去佐证:
A = ['a bc 46 6 63 ghi 3 6';
'd ef 7 89 2 jk9 1 2']
B = sscanf(A, '%*s %*s %d %d %d %*s %d', [2, inf])
结果是B =
476 623
869 13
sscanf中用要求输入量内的元素必须严格等长,
像上面这样的用法我还没有用过,感觉没有什么大的用处。doc sscanf例子中不是给出了下面的用法:
for k = 1:2
C(k,:) = sscanf(A(k, :)', '%*s %d %d %*s', [1, inf]);
end
C
C =
46 6
7 89
4. 在matlab figure中用矩形框圈出感兴趣的区域
rectangle('Position',[100,300,70,50],'Curvature',[0,0],'LineWidth',2,'LineStyle','--','EdgeColor','r')
注释:rectangle('Position',[x,y,宽,高],'Curvature',[x曲率,y曲率],'LineWidth',‘线宽,'LineStyle','线型','EdgeColor','线色')
5. legend改变标注的位置
legend(....,'location','northwest')可以将标识框放置在图的左上角。
'North'
图例标识放在图顶端
'South' 图例标识放在图底端
'East' 图例标识放在图右方
'West' 图例标识放在图左方
'NorthEast' 图例标识放在图右上方(默认)
'NorthWest 图例标识放在图左上方
'SouthEast' 图例标识放在图右下角
'SouthWest' 图例标识放在图左下角
相关文章推荐
- Matlab常用技巧
- matlab常用技巧
- Matlab常用技巧
- Matlab常用技巧备忘
- 不常见的matlab常用技巧
- MATLAB常用方法技巧总结
- matlab常用技巧
- 提高Google Adsense的eCPM的常用技巧
- \t\t常用网络命令使用技巧
- 数据库设计中的常用技巧
- IntelliJ IDEA使用技巧(一)——常用快捷键
- 【转】VC++ MFC 常用技巧(一)
- sql 常用技巧整理
- CSS常用技巧介绍
- Android AVD的常用技巧
- Javascript中最常用的55个经典技巧
- CSS2.0中最常用的18条技巧
- Shell 常用的一些命令技巧
- PowerDesigner常用操作基本技巧
- matlab中一些常用的函数