matlab课程设计

发布 2022-10-01 01:08:28 阅读 8905

安徽建筑工业学院。

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,取垂直方向为基准线,在基准线左...