Matlab

来源:互联网 发布:拉乌网络 编辑:程序博客网 时间:2024/03/29 16:11

Matlab几个常用的快捷键:

TAB   SHIFT+TAB    整行的左移或右移;

CTRL+R     CTRL+ T  先选定整行屏蔽或解除屏蔽语句    if 0 ,段尾加 end;

CTRL+I         matlab帮你自动对齐程序;

1、在Matlab中,无论是连续信号还是离散信号,都用一个离散数字序列来表示,成为向量(Vector),需要与之相对应的时间向量。

2、程序的暂停:pause(延时秒数程序将暂停;省略则一直暂停,直到按任意键结束;Ctrl+C强制结束程序。

3、取模与求余

mod(a,b)   result=a-b*floor(a/b)    向负无穷方向取整

rem(a,b)   result=a-b*fix(a/b)      向零方向取整

4、Matlab中向量下标从1开始

x=5:10;

y=x;

y(0)  %运行会出现错误,因为Matlab中向量下标从一开始

y(1)  %运行结果是5,相应y(2)=6y(3)=7

5、Matlab函数fft可对信号进行傅里叶变换,应用中要用到信号的频率,只要理解了时域和频域之间的关系很容易求出傅里叶变换后的信号频率。

时域---t   频域---f  t和 f之间的变换

T:时域采样间隔    1/T=f采样频率(频域中长度

L:时域总长度      1/L=df频域分辨率(可称频域间隔)

df: 分辨率=f/N      1/df=L时域总长度

频率             1/f=T  时域间隔

编写程序返回时域信号的傅里叶变换及频率

function [f,sf]=FFT_SHIFT(t,st)

% % T=t(2)-t(1);%时域间隔T

% % ft=1/T;%T的倒数频域总长度

% % N=length(t);

% % f=[-N/2:N/2-1]*ft;%将频域总长度分割N

% % sf=fft(st);  

L=t(end)%时域总长度l

df=1/L;%频域间隔df

N=length(t);

f=[-N/2:N/2-1]*df;%将频域总长度分割N

sf=fft(st); 

subplot(211)

plot(t,st)

subplot(212)

plot(f,sf)

matlab中默认数据类型是双精度浮点型,占8个字节

 

 

 

 

 

 

rotate3d on  % rotate3d off打开关闭图形的三维视角只是鼠标变化了

 

绘制网格图时可用hidden on hidden off  关闭、显示网格线内部情况

 

view(az,el)或 view([az,el]) 以方位角az及仰角el观看图像,与x=0的夹角是方位角,与z=0的夹角为仰角。默认条件下方位角-37.5,仰角30

[az,el]=view 该函数返回图像的方位角以及仰角。

view(2)  默认的二位视图显示    view(3)  默认的三位视图显示

Egfigure

mesh(peaks)

view(2)

figure(2)

mesh(peaks)

view(3)

 

Matlab中的色图函数:colormap([0.5 0.7 0.2])   colormap(hot)

RGB

colormap([a,b,c])很有趣,abc都是01的数叠加之后为显示的颜色

[1 0 0 ]红色  [0 1 0]绿色  [0 0 1]蓝色  [1 1 1]白色  [0 0 0]黑色等等

 

Colorbar        默认为垂直

colorbar('horiz')  添加水平色条

colorbar('vert')   添加垂直色条

Eg

figure

mesh(peaks)

colormap(spring(10))

colorbar('horiz')

figure

mesh(peaks)

colormap(hot)

colorbar('vert')

 

brighten(0.5) 介于-10之间变暗色图;介于01之间增量色图

 

[cmin,cmax]=caxis

返回颜色轴的界限

caxis([cmin,cmax] 

设置颜色轴的界限

 

 

利用shading()函数控制曲面图形的着色方式:

shading 是用来处理色彩效果的,分以下三种:
no shading 一般的默认模式 即shading faceted
shading flat faceted的基础上去掉图上的网格线
shading interp flat的基础上进行色彩的插值处理,使色彩平滑过渡

shading faceted命令将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。这是系统的缺省着色方式。
shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
shading interp命令在网格片内采用颜色插值处理,得出的表面图显得最光滑。

Eg

figure

peaks(50)

colormap(hsv);

figure

peaks(50)

colormap(hsv);

shading faceted

figure

peaks(50)

colormap(hsv);

shading flat

figure

peaks(50)

colormap(hsv);

shading interp

 

 

colordef函数,可以设置图像背景颜色

Eg

Colordef  none     colordef  white    colordef  black

 

light('Color',选项1,'Style',选项2,'Position',选项3)

 

camara设置 view---camaratoolbar可对图像进行处理

 

图形透视:mesh--hidden on/off    surf--shading interp/flat/faceted

图形镂空:  surf(x,y,z);z(2:4,5:6)=NAN;可将指定区域镂空mesh或者surf

四维绘图:采样meshsurf绘图时没有给出颜色数据,则默认为z轴数据,mesh(x,y,z,z)等价于mesh(x,y,z)

图形动画

figure

[x,y,z]=sphere(100)

surf(x,y,z);

shading interp

colormap([1 0 0]);

camlight left

lighting phong

axis equal

axis off

hold on;

mesh(1.5*x,1.5*y,1.5*z);

hidden off

axis equal

axis off

[x,y,z]=peaks

z(35:40,22:25)=NaN;%zx,y的函数

surf(x,y,z);

[x,y,z]=peaks

surf(x,y,z);

figure

surf(x,y,z,abs(z));

figure

surf(x,y,z,-z);

figure

surf(x,y,z,z.^2);

 

 

 

 

 

 

 

 

 

  

 


原创粉丝点击