matlab课程设计.docx
- 文档编号:15788269
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:12
- 大小:678.84KB
matlab课程设计.docx
《matlab课程设计.docx》由会员分享,可在线阅读,更多相关《matlab课程设计.docx(12页珍藏版)》请在冰点文库上搜索。
matlab课程设计
课程设计课题:
二维绘图
一.课程设计的目的与要求
1.课程设计目的:
(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。
(2)通过课程设计提高应用能力,为专业课的学习打下基础。
(3)培养查阅资料的习惯、徐连和提高独立思考和解决问题的能力。
(4)通过绘图操作,结合程序设计培养知识综合运用能力和技巧。
2.课程设计要求:
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
(1)能够正确理解课程设计的目的和意义,全面思考问题。
(2)运用科学合理的方法,认真按时完成。
二.课程设计课题的分析
强大的绘图功能是MATLAB的特点之一。
二维图是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,除直角坐标系外,还可以采用对数坐标、极坐标。
数据点可以用向量或矩阵形式给出,类型可以是实型或复型。
二维图形的绘制无意识其他绘图操作的基础。
本次课程设计采用自定义函数等,通过编程来实现二维图形的绘制,而且改变一定的程序来实现图线的颜色变化,形状的变化,坐标轴的有无,网格线的开关等等。
三.课程设计的内容
通过低层绘图操作,运用实验数据或者自产生的序列或者自定义函数,自定义坐标轴,通过编程实现二维图的绘制,并且要求对所绘制的图形有相应标注对应。
(设置多个图形比如背景颜色可自定义变化:
线型宽度、形状可改变;标记符,组合键的设置;网格线的开关,坐标的有无等等)
四.课程设计步骤:
实验程序如下:
screen=get(0,'screensize');
w=screen(3);h=screen(4);
figure('color',[1,1,1],'position',[0.6*h,0.4*h,0.6*w,0.5*h],...
'name','二维绘图示例','numbertitle','off','menubar','none');
hplot=uimenu(gcf,'label','&图形');
uimenu(hplot,'label','图形1','Call',...
['x=0:
pi/100:
3*pi;','plot(x,tan(sin(x))-sin(tan(x)));',...
'set(hgon,''enable'',''on'');',...
'set(hgoff,''enable'',''on'');',...
'set(hbon,''enable'',''on'');',...
'set(hboff,''enable'',''on'');',...
'set(hx,''enable'',''on'');',...
'set(ho,''enable'',''on'');',...
'set(hu,''enable'',''on'');',...
'set(hy,''enable'',''on'');',...
'set(hk,''enable'',''on'');',...
'set(hm,''enable'',''on'');','title(''tan(sin(x))-sin(tan(x))'');']);
uimenu(hplot,'label','图形2','Call',...
['x=0:
pi/100:
3*pi;','plot(x,exp(-0.3*x).*sin(x));',...
'set(hgon,''enable'',''on'');',...
'set(hgoff,''enable'',''on'');',...
'set(hbon,''enable'',''on'');',...
'set(hboff,''enable'',''on'');',...
'set(hx,''enable'',''on'');',...
'set(ho,''enable'',''on'');',...
'set(hu,''enable'',''on'');',...
'set(hy,''enable'',''on'');',...
'set(hk,''enable'',''on'');',...
'set(hm,''enable'',''on'');','title(''exp(-0.3*x).*sin(x)'');']);
hoption=uimenu(gcf,'label','&选项');
hgon=uimenu(hoption,'label','&有网格线',...
'Call','gridon','enable','on');
hgoff=uimenu(hoption,'label','&无网格线',...
'Call','gridoff','enable','on');
hbon=uimenu(hoption,'label','&有边框',...
'separator','on','Call','boxon','enable','on');
hboff=uimenu(hoption,'label','&无边框',...
'Call','boxoff','enable','on');
hgon=uimenu(hoption,'label','&有坐标轴',...
'Call','axison','enable','on');
hgon=uimenu(hoption,'label','&无坐标轴',...
'Call','axisoff','enable','on');
hwincor=uimenu(hoption,'label','&窗口颜色','separator','on');
uimenu(hwincor,'label','&绿色','accelerator','g',...
'Call','set(gcf,''color'',''g'');');
uimenu(hwincor,'label','&黑色','accelerator','k',...
'Call','set(1,''color'',''k'');');
uimenu(hwincor,'label','&品红色','accelerator','m',...
'Call','set(1,''color'',''m'');');
hlm=uimenu(gcf,'label','&标记符');
uimenu(hlm,'label','叉号','Call','set(findobj(gca,''type'',''line''),''marker'',''x'')');
uimenu(hlm,'label','菱形','Call','set(findobj(gca,''type'',''line''),''marker'',''d'')');
uimenu(hlm,'label','圆圈','Call','set(findobj(gca,''type'',''line''),''marker'',''o'')');
uimenu(hlm,'label','星号','Call','set(findobj(gca,''type'',''line''),''marker'',''*'')');
hls=uimenu(gcf,'label','&线型');
hu=uimenu(hls,'label','实线','Call','set(findobj(gca,''type'',''line''),''linestyle'',''-'');');
hy=uimenu(hls,'label','点划线','Call','set(findobj(gca,''type'',''line''),''linestyle'',''-.'');');
hy=uimenu(hls,'label','双划线','Call','set(findobj(gca,''type'',''line''),''linestyle'',''--'');');
hlw=uimenu(gcf,'label','&线宽');
hk=uimenu(hlw,'label','变宽','Call','set(findobj(gca,''type'',''line''),''linewidth'',2.5);');
hm=uimenu(hlw,'label','变细','Call','set(findobj(gca,''type'',''line''),''linewidth'',0.1);');
hlc=uimenu(gcf,'label','&颜色');
hx=uimenu(hlc,'Label','黄色','Call','set(findobj(gca,''type'',''line''),''Color'',''y'');');
ho=uimenu(hlc,'Label','红色','Call','set(findobj(gca,''type'',''line''),''Color'',''r'');');
ho=uimenu(hlc,'Label','绿色','Call','set(findobj(gca,''type'',''line''),''Color'',''g'');');
ho=uimenu(hlc,'Label','黑色','Call','set(findobj(gca,''type'',''line''),''Color'',''k'');');
uimenu(gcf,'label','&退出','Call','close
(1)');
五、课程设计结果:
图形1
图形2
有网格线的图形2
有网格线有边框的图形2
无坐标轴的图形1
背景颜色变绿有边框的图形1
背景颜色为绿色有边框标记符为菱形的图形1
背景颜色为品红色有边框标记符为叉号的图形2
有边框线型为点划线的图形1
有边框线型为双划线的图形2
有网格线的线宽变宽的图形1
颜色变为绿色的图形1
六.课程设计的心得与体会
本以为课程设计很容易,但是等自己真正去做时才知道并非如此。
有很多东西自己都不懂,只有一个一个地去请教老师,一遍一遍地去向同学咨询。
虽然倍感艰辛,但在老师和同学的帮助下,我终于能把程序写出来了,这就是最的欣慰,最大的鼓励。
成功只有在自己一次又一次的尝试后才会出现。
所以要想完成这次课程设计,必须本着坚持不懈的意志,认真对待每一个问题,才能斩获胜利的果实。
在这次课设中,经常的失败让我变得很没耐心,并且有许多无聊,但是我知道我不能放弃,这是磨练自己耐力的最佳机会,千万不能浪费。
虽然编程过程中出现许多错误,但是这正好说明我还有很大的提升空间,还需要下很大的功夫在MATLAB上。
这一次课设和以往的课设有很大的不同,我认为自己学到了很多,收获很大。
七.参考文献
[1]刘卫国,陈昭平,张颖.MATLAB程序设计与应用.北京:
高等教育出版社,2002年
[2]薛定宇.控制系统计算机辅助设计——MATLAB语言及应用.北京:
清华大学出版社,1996年
[3]崔新忠.MATLAB与仿真心痛实验指导书.自编教材,2007年
[4]XX文献 > 专业文献>计算机>MATLAB程序设计与应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 课程设计