MATLAB应用实例集锦
(2011-07-27 18:58:55)
标签:
matlab应用实例matlab应用matlab集锦it |
分类: MATLAB学习笔记 |
通用的完整的坐标系的建立实例
>>t=0:0.1:4*pi;
>> x=sin(t);
>> y=cos(t);
>> plotyy(t,x,t,3*y);
>> title('双纵坐标函数的使用');
>> xlabel('横坐标一致');
>> ylabel('纵坐标不一致');
>> legend('cos(t)','3*sin(t)');
坐标图形的分割
>> t=0:0.1:4*pi;
>> y=sin(t);
>> x=cos(t);
>> y1=tan(t);
>> x1=cot(t);
>> subplot(2,2,1); //将窗口分割为2*2即4个小窗口的界面,且激活1号窗口
>> plot(t,y,'r-'); //在1号窗口绘图
>> title('图形一');
>> xlabel('T');
>> ylabel('Y');
>> axis square; 产生正方形坐标系
>> grid on;
>> subplot(2,2,2); //将窗口分割为2*2即4个小窗口的界面,且激活2号窗口
>> plot(t,y1,'b*');
>> title('图形二');
>> xlabel('T');
>> ylabel('Y');
>> axis equal;
>> subplot(2,2,3);
>>
>>
>> ylabel('Y');
>> grid on;
>> axis off;
>> subplot(2,2,4);
>> axis on;
>> plot(t,x,'b*');
>> plot(t,x1,'b*');
>>
>>
>> grid on;
统计图形的应用实例
>> t=linspace(0,1,10);
>> subplot(2,2,1);
>> bar(t);
>>
>> ylabel('Y');
>> title('条形图');
>> subplot(2,2,2);
>> stairs(t);
>> xlabel('T');
>> ylabel('Y');
>> title('阶梯图');
>>
>> t
t =
>> stem(t);
>>
>> r=0:0.1:4*pi;
>> y=sin(r);
>> fill(r,y,'g');
>>
>>
>> title('填充图');
注意区别两者的差别
>> t=linspace(0,10,5);
>> t
t =
t1 =
>> t1=0:1:5
t1 =
投影函数的应用实例:
>> z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);
>> meshc(x,y,z);
>> subplot(2,2,2);
>> meshz(x,y,z);////// 在mesh绘图的基础上绘出在xy平面上的底座
>> subplot(2,2,3);
>> surfc(x,y,z);//////具有等高线的曲面函数
>> subplot(2,2,4);
>> surfl(x,y,z);//////具有光照效果的曲面函数
正弦曲面的绘制:
>> t=0:0.1:4*pi;
>> d=sin(t);
>> [x,y,z]=cylinder(d,50);
>> surf(x,y,z);
三维图形表面的着色:
Shading faceted; //////此命令将每个网格片涂上颜色,但网格线保留,线的颜色仍是黑色
shading flat;/////此命令将每一个网格片用一个颜色进行着色,且网格线也使用相同颜色
shading interp;/////此命令在网格片内采用颜色差值处理,得出的表面最为光滑
colormap(m); ///m代表色图矩阵
函数名 |
含义 |
函数名 |
含义 |
autumn |
红、黄浓淡色 |
Cool |
青品红浓淡色 |
Bone |
蓝色调浓淡色 |
纯铜色调线性浓淡色 |
|
pink |
淡粉红色图 |
White |
全白色 |
Hsv |
两端为红的饱和值色 |
Summer |
绿黄浓淡色 |
Jet |
蓝头红尾饱和色值 |
Copper |
纯铜色调线性浓淡色 |
Colorcube |
三浓淡多色彩交错 |
Flag |
红-白-蓝-黑-交错 |
三维图形表面的着色应用实例:
>> z=peaks(20);
>> colormap(copper);///图形窗口色图的设置和改变,进行全局的设定
>> surf(z);
>> surf(z);
> >shading flat;//此命令将每一个网格片用一个颜色进行着色,且网格线也使用相同颜色
>> surf(z);
>> shading interp;/////此命令在网格片内采用颜色差值处理,得出的表面最为光滑
colormap(colorcube);////添加此句后的效果
对象属性的操作实例:
应用实例:
>> y=sin(x);
>> z=cos(x);
>> plot(x,y);
>> hold on;
>> h1=plot(x,y);
>> hold on;
>> set(h1,'color','r','marker','*');%设置h1的属性值
>> h2=plot(x,z);
>> set(h2,'color','b','linestyle',':');
>> h3=get(h2,'color') %获取'color'属性的属性值
h3 =
图形对象的创建:
建立图形窗口对象使用figure()函数,其调用格式为:
坐标轴对象
建立坐标轴对象使用axes函数,其调用格式如下:
曲线对象
坐标系中,建立曲线对象使用line函数,格式如下:
注解:其中x,y,z的含义与高层曲线函数plot和plot3 一样,
完整的图形窗口的建立实例:
>>
>>
>> y2=sqrt(3)/2*exp(-4*t).*sin(4*sqrt(3)*t+pi/3);
>> figh=figure('menubar','none','name','yangfan','resize','off','color','y','pointer','watch');
///建立显示曲线或图形的窗口(名为yangfan,不可调整大小,底层颜色为黄色)
>> title('建立一个完整的坐标系');///为坐标系的命名
>> axes('gridlinestyle',':','box','on','xlim',[0,pi/2],'ylim',[-1,1]); ///设置坐标轴的属性
>> xlabel('X坐标轴的属性'); ///设置X坐标轴的名称
>> ylabel('Y坐标轴的属性'); ///设置Y坐标轴的名称
>> line('xdata',t,'ydata',y1,'linewidth',1,'linestyle','-.','color','g'); 设置曲线以1 的属性
>> grid on;
>> text(0.5,0.5,'文字对象','color','g');%为曲线添加文字说明
>>line('xdata',t,'ydata',y2,'linewidth',2,'linestyle','-.','color','r');
>>text(0.5,1,'文字对象','color','r');
图像显示
>> [x,cmap]=imread('g:\rf.jpg');
>>
>>
>>
>> imwrite(x,'f:\12','jpg');
1、影片动画制作
MATLAB提供了getframe、moviein和movie;
Getframe函数可以截取每一幅画面信息而构成一个很大的列向量,该向量可以保存在一个变量中;
Moviein(n)函数用来建立足够大的n列矩阵,该矩阵用来保存n幅画面的数据,以备播放;
Movie(m,n)函数播放由矩阵m所定义的画面n次,默认时播放1次;
动画制作实例:
>> t=0:0.1:4*pi;
>> d=sin(t);
>> [x,y,z]=cylinder(d,50);
>> m=moviein(20);
>> for c=1:20
>> movie(m,10);
2、实时动画制作:
基本实时动画制作的方法:先画出出示图形,在计算活动对象的新位置,并在新位置将它显示出来,最后擦出原位置上的对象,刷新屏幕;重复操作即可实现动画效果;
利用erasermode属性可以实现显示新对象,擦出旧对象,而又不破坏背景图案,通过erasermode属性可以实现3种重要的擦出方式:
A、none:在图形对象变化时,直接在原来的基础上绘制,不破坏原图像;
B、background:在图形对象被擦出后,将原来图形的颜色设置为背景颜色,实现擦出;这种擦出将原有的对象完全擦出,包裹该对象下面的所有对象;
C、xor:对象的擦出与绘制由该对象的异或而定,只绘制于屏幕颜色不一致的新对象点,这种模式只擦出与屏幕颜色不一致的原对象点,而不损坏被擦出对象下面的其他对象;
当新对象属性设置后,应该及时刷新屏幕,从而使新对象显示出来,这些操作依靠命令:drawnow:此命令迫使matlab暂停目前的任务而去刷新屏幕,若没有此命令则在执行完任务后才刷新屏幕
>>
>> y=sin(t);
>>
>>
pause(0.5);
pause(0.5);
set(h1,'erasemode','xor');
end
end