安徽建筑工业学院。
matlab实验报告。
课程设计名称数学函数图形演示。
院(系)名称数理系。
专业信息与计算科学
班级 08信息。
姓名于志超。
学号 08207010106
指导老师刘华勇。
主目录。一.课程设计名称。
二.课程设计目的。
三.课程设计内容。
四.课程设计数据(程序)
五.课程设计结果
六.参考书目。
一.课程设计名称:数学图形演示。
二、课程设计目的。
1.学会使用matlab,掌握matlab的程序设计方法。
2.了解matlab图形处理系统应用。
3.掌握matlab语法规则和程序设计基本特点,能够进行简单程序设计。
三.课程设计内容。
图形可以直观明了地显示数据,是用户更加直接、清楚地了解数据的属性。因此,在科学研究和工程实践中,经常需要将数据可视化。matlab的绘图功能满足了用户的图形需要。
matlab中包含了大量的绘图函数,使用户可以方便实现数据的可视化。matlab的图形功能包括在直角坐标系中或极坐标系基本图像;绘制特殊图像。
本课程设计大体思路如此,首先通过函数figure创建图形窗口,建立图形窗口对象使用figure函数。调用该函数的命令形式为:
句柄变量=figure(属性名1,属性值1,属性名2,属性值2,…)
matlab为每个图形窗口提供了很多属性。这些属性及其取值控制着图形窗口对象。除公共属性外,其他常用属性:
menubar属性、name属性、position属性、color属性等。
再利用set函数设置图像窗口的各种属性,如图形名称颜色等,同时利用axes函数建立坐标轴对象,调用该函数的命令形式为:
句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…)
为了在一级界面上添加控件以显示子控件的图形,这里利用了相应的一级菜单项句柄以及子菜单项句柄函数,其调用函数为建立一级菜单项的函数调用形式为:
一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)
建立子菜单项的函数调用形式为:
子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)
例如:hm=uimenu(gcf, 'label', file');
hm1=uimenu(hm, 'label', s**e');
hm2=uimenu(hm, 'label', s**e as');
至此相应界面的大致轮廓已设计出,相应演示的函数图形分别为正态函数,三维函数以及图形变化。
四.课程设计数据(程序)
主程序:figure;
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
set(gcf,'menubar','none');
h_axes=axes('position',[0.1 0.1 0.8 0.8]);
grid on;
menu_apporach1=uimenu(gcf,'label','函数曲线');
menu_datapoint=uimenu(menu_apporach1,'label','正态函数','callback','zhengtai');
menu_apporach1_1=uimenu(menu_apporach1,'label','多个正态函数','callback','menu1');
menu_apporach2=uimenu(gcf,'label','多维图形');
menu_apporach2_1=uimenu(menu_apporach2,'label','三维线1','callback','hat1');
menu_apporach2_2=uimenu(menu_apporach2,'label','三维线2','callback','hat2');
menu_apporach2_3=uimenu(menu_apporach2,'label','三维线3','callback','hat3');
menu_apporach3=uimenu(gcf,'label','展现图形变化');
menu_apporach3_1=uimenu(menu_apporach3,'label','图形变化','callback','cat');
子程序:zhengtai:
正态函数显示。
function zhengtai
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
x=[-3:0.2:3];
y=1/sqrt(2*pi)*exp(-1/2*x.^2);
plot(x,y,'b+',linewidth',2 );
str='\fontsize\fontname以0.2为步长的标准正态函数密度分布';
title(str);
grid on;
xlabel('x'),ylabel('y');
menu1:
plot n(0,1),n(0,2),n(0,3)by plotting a matrix
function menu1
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
x=[-3:0.2:3]';
for i=1:3
y(:,i)=1/sqrt(2*pi*i)*exp(-1/(2*i)*x.^2);
endplot(x,y,'b+',linewidth',2 );
str='\fontsize\fontname以0.2为步长方差分别为的正态分布密度函数';
title(str);
grid on;
xlabel('x'),ylabel('y');
hold off;
hat1:三维曲线。
function hat;
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t);
str='\fontsize\fontname三维螺旋曲线';
title(str);
grid on;
xlabel('x'),ylabel('y');
hat2:三维曲线。
function hat;
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
x=-1:0.1:1;
y=x';x1=x.^2;
y1=y.^2;
x=ones(3,1);
x=ones(length(x),1);
y=ones(1,length(y));
x1=x*x1;
y1=y1*y;
z=x1+y1;
subplot(1,2,1),mesh(x,y,z);
subplot(1,2,2),surf(x,y,z);
str='\fontsize\fontname三维抛物曲面';
title(str);
grid on;
xlabel('x'),ylabel('y');
hat3:%三维曲线。
function hat;
set(gcf,'numbertitle','off');
set(gcf,'name','图形演示系统');
syms x y
f=y/(1+x^2+y^2);
subplot(1,2,1),ezmeshc(f,[-5,5,-2*pi,2*pi],30),title('mesh');
subplot(1,2,2),ezsurfc(f,[-5,5,-2*pi,2*pi],30),title('surf');
str='\fontsize\fontname等值线';
title(str);
grid on;
xlabel('x'),ylabel('y');
cat:screen=get(0,'screensize');
w=screen(3);h=screen(4);
figure('color',[1,1,1],'position',[0.2*h,0.2*h,0.6*w,0.4*h],.
name','图形演示系统','numbertitle','off','menubar','none');
定义plot菜单项。
hplot=uimenu(gcf,'label','plot');
uimenu(hplot,'label','sine w**e','call',[t=-pi:pi/20:pi;',plot(t,sin(t));
set(hgon,''enable'',on'')set(hgoff,''enable'',on'')
set(hbon,''enable'',on'')set(hboff,''enable'',on'')
uimenu(hplot,'label','cosine w**e','call',[t=-pi:pi/20:pi;',plot(t,cos(t));
set(hgon,''enable'',on'')set(hgoff,''enable'',on'')
set(hbon,''enable'',on'')set(hboff,''enable'',on'')
定义option菜单项。
hoption=uimenu(gcf,'label','option');
hgon=uimenu(hoption,'label','grig on','call','grid on','enable','off');
hgoff=uimenu(hoption,'label','grig off','call','grid off','enable','off');
MATLAB课程设计
1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...
MATLAB课程设计
课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...
MATLAB课程设计
matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...