当前位置:文档之家› MATLAB实验报告16_6

MATLAB实验报告16_6

MATLAB实验报告16_6
MATLAB实验报告16_6

暨南大学本科实验报告专用纸

课程名称《MATLAB语言实验》成绩评定

实验项目名称MATLAB可视化界面设计指导教师严东松

实验项目编号08060239106实验项目类型设计实验地点C305

学生姓名学号

学院电气信息学院系专业

实验时间2016年10月9日下午温度℃湿度

一、实验目的

●掌握GUIDE可视化界面的设计方法。

●掌握菜单、工具栏的操作。

●了解各控件的功能及设计方法。

二、实验环境

计算机一台,Windows 7操作系统,MA TLAB 2013工作环境。

三、实验内容及分析

一个可发布的应用程序通常都需要具备一个友好的图形界面。这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法。用户也不需要知道命令是如何执行, 只要通过与界面交互就可以使指定行为得以正确执行。

MATLAB可视化界面的设计, 一般有两种方法, 一是直接通过编辑M脚本文件产生GUI, 二是通过MATLAB图形用户界面开发环境GUIDE(Graphical User Interface Development Environment)来形成相应文件。GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中, 同时自动生成包含GUI初始化和组件界面布局控制代码的M文件, 为实现回调函数提供了一个参考框架。

(一)三维曲线绘制

1.实例要完成的功能如下:

首先运行M文件后,出现一个主画面

当分别点击按钮“螺旋线”、“内摆线”、“圆旋转成圆环”和“退出”命令按钮时,分别出现如下列图示的动态、静态的结果。

螺旋线图

内摆线图

圆动成环图

退出信息图

2.实验操作步骤:

1)启动Matlab并进入GUIDE环境:在Command Window下输入“guide”,进入GUIDE 环境。新建空白界面Blank GUI,即用空白的界面来写自己的东西。进入后,Matlab就新建了一个fig文件(默认名是untitled.fig),同时进入编辑窗口。

2)在用户界面编辑窗口添加4个命令按钮(显示是OK的用个PUSH BUTTON),再如下图所示添加5个静态文本框(Static Text)、5个编辑文本框(Edit Text)和一个坐标系

(Axes)

3)其次,按下表设置每个控件的属性值(具体操作是:右击要设置属性的控件——property inspector 命令——在弹出的属性窗口中找到相应的属性名称——将该属性的值修改成自己需要的值)。

注:上面控件名称的编号,比如1,2之类,在界面上是没有的,只是我按照从上到下的次序,为方便叙述而编写的。

4)最后,添加程序(在添加程序前,最好先将文件保存一下,比如以Exp6.m为文件名保存),添加程序的常用方法是:单击菜单命令view——M-file Editor,此时,得到下面的程序:

下面真正添加自己的程序,最后成的程序如下:自己添加的程序用红色表示。function varargout = Exp6(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Exp6_OpeningFcn, ...

'gui_OutputFcn', @Exp6_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

%上面的是系统初始化代码,绝对不要去修改它们。

function Exp6_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

%这里选择了一个图片文件,作为初始画面,具体的图片可以选择自己喜欢的。

map1=imread('Water lilies.jpg');

image(map1)

%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数内。function varargout = Exp6_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

%上面的函数返回的量直接到命令窗口。

function pushbuttonLxx_Callback(hObject, eventdata, handles)

%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。axes(handles.axes1)

cla

v=2;

alf=pi/6;

omg=pi/5;

t=0:0.01:100;

x=v*sin(alf).*cos(omg*t).*t;

y=v*sin(alf).*sin(omg*t).*t;

z=v*cos(alf).*t;

%plot3(x,y,z)

axis([-100 100 -100 100 0 160])

grid on

axis equal on

comet3(x,y,z)

%上面的程序是“一质点,沿着已知圆锥面的一条直母线自圆锥的顶点起,作等速直线运动,另一方面这一条母线在圆锥面上,过圆锥的顶点绕圆锥的轴(旋转轴)作等速的转动,这时质点在圆锥面上的轨迹”的动态形成过程。

function pushbuttonNBX_Callback(hObject, eventdata, handles)

%上面的函数是点击内摆线按钮时,执行的代码,即可以在此处添加有关内摆线的程序代码。axes(handles.axes1)

cla

a=str2double(get(handles.editBCR,'String'));

b=str2double(get(handles.editSCR,'String'));

k=str2double(get(handles.editXZZ,'String'));

axis([-a-2 a+2 -a-2 a+2 0 a+2])

line([-a-2,a+2],[0,0]);

hold on

line([0,0],[-a-2,a+2]);

u=0:pi/30:2*pi;

x=a*cos(u);

y=a*sin(u);

plot(x,y)

x=b*cos(u)+a-b;

y=b*sin(u);

plot(x,y)

axis equal on

grid on

theta=0:pi/1800:k*a*pi;

x=(a-b)*cos(b/a*theta)+b*cos((a-b)/a*theta);

y=(a-b)*sin(b/a*theta)-b*sin((a-b)/a*theta);

comet(x,y)

%上面的程序是内摆线的动态的形成过程

% --- Executes on button press in pushbuttonExit.

function pushbuttonExit_Callback(hObject, eventdata, handles)

%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。ss=questdlg('你真的要退出吗?','退出信息窗口!','不,我还想看看!','是的,我要退出!','是的,我要退出!');

switch ss

case '是的,我要退出!'

delete(handles.figure1);

end

%上面的程序是退出程序时信息窗口

function editBCR_Callback(hObject, eventdata, handles)

%上面的函数是editBCR这个编辑文本按钮回调时,执行的代码。

function editBCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editBCR的属性值。

function editSCR_Callback(hObject, eventdata, handles)

%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。

function editSCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editSCR的属性值。

function editXZZ_Callback(hObject, eventdata, handles)

%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。

function editXZZ_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editXZZ的属性值。

function pushbuttonCtoC_Callback(hObject, eventdata, handles)

%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。

axes(handles.axes1)

cla

%a=4;

%b=10;

a=str2double(get(handles.editCR,'String'));

b=str2double(get(handles.editDist,'String'));

u=0:pi/30:2*pi;

y=a.*cos(u)+b;

z=a.*sin(u);

n=length(u);

x=0*ones(1,n);

if a

axis([-b-2 b+2 -b-2 b+2 -a-2 a+2])

else

axis([-a-2 a+2 -a-2 a+2 -b-2 b+2])

end

plot3(x,y,z)

pause(1)

for t=0:pi/60:2*pi

x=y.*sin(t);

y1=y.*cos(t);

plot3(x,y1,z)

pause(0.1)

grid on

hold on

%axis equal on

%view([-20,0])

end

%上面的程序是圆旋转成圆环的动态的形成过程

function editCR_Callback(hObject, eventdata, handles)

%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。

function editCR_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editCR的属性值。

function editDist_Callback(hObject, eventdata, handles)

function editDist_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

%上面的函数用来在程序中设置editDist的属性值。

5)增加菜单与控件的GUI设计:按下表设计菜单,在菜单【Options】下,有4个下拉菜单项【Box on】、【Box off】和【Grid on】、【Grid off】缺省时为Box off 状态。在点击【Grid on】或【Grid off】键时,在轴上画出或删除“分格线”;缺省时,无分格线。

将PPT中的“控制系统传递函数典型环节”的GUI设计也添加到菜单中分别来调用,并对“比例积分环节”绘制的曲线增加快捷菜单项。

(二)算术计算器的设计

1、算术计算器的功能:

能进行简单的加、减、乘、除法运算,输入文本框显示为常量多项式,输出文本框显示为精确到小数点后十位的数值。计算器包含十个数字键0~9、小数点键“.”、小括号键“(”“)”、运算符号、清屏键、退格键、退出键等。

2、设计思路:

每按下一个数字键或者符号键的时候,利用get(handles.edit1,'string')获取当前输入文本框edit1的string属性,并通过字符串合并函数strcat()将当前输入文本框edit1的字符型string属性与按键的字符型string属性合并成字符串,然后利用属性设置函数set(); 将合并后的字符串返回到输入文本框edit1的string属性。当输入结束,用户按下等号的时候,采用x=get(handles.edit1,'string')获取当前输入文本框edit1的string属性,然后利用字符串执行命令y1=eval(x)计算输入文本框的表达式,得到的结果是字符型常量;然后利用字符串输出格式控制函数y=sprintf('%.10f',y1)使输出结果精确到小数点后十位;最后利用属性设置函数set(handles.edit2,'string',y)将转换后的字符串返回到输出文本框edit2的string属性。

3、设计步骤:

1、进入GUI开发环境,创建控件:Push Button包括数字0~9、运算符“+ - ×÷”、功能键等十九个,输入和动态静态文本框Edit Text,显示文字的静态文本框Static Text四个等。

2、对控件单击右键弹出菜单,选择Property Inspector,设置控件属性。

控件属性表

3、选择工具栏上的Align Objects按键,调整控件布局。

4、选择工具栏上的Tab Oder Editor按键,通过和设置各控件的Tab顺序。

7、设计菜单:

在GUI开发环境下,选择工具栏上的进入菜单编辑器,分别选择和创建主菜单和子菜单。

8、编写回调函数。

(1)数字键0的回调函数:

% --- Executes on button press in pushbutton3.

function pushbutton10_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键0的回调函数:

%get函数获取输入文本框edit1的string属性,赋值给numbers,数值类型为char;numbers=get(handles.edit1,'string');

%字符串合并函数strcat()将按键"0"与numbers的值合并,将合并后的字符串返回到输入文本框edit1的string属性;

set(handles.edit1,'string',strcat(numbers,'0'));

%同理编写其余数字键、小数点键、小括号键、运算符号键;

(2)数字键1的回调函数:

% --- Executes on button press in pushbutton7.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

%数字键1的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'1'));

(3)数字键2的回调函数:

% --- Executes on button press in pushbutton7.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键2的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'2'));

(4)数字键3的回调函数:

% --- Executes on button press in pushbutton10.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键3的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'3'));

(5)数字键4的回调函数:

% --- Executes on button press in pushbutton9.

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键4的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'4'));

(6)数字键5的回调函数:

% --- Executes on button press in pushbutton7.

function pushbutton5_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

%数字键5的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'5'));

(7)数字键6的回调函数:

% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键6的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'6'));

(8)数字键7的回调函数:

% --- Executes on button press in pushbutton5.

function pushbutton7_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键7的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'7'));

(9)数字键8的回调函数:

% --- Executes on button press in pushbutton8.

function pushbutton8_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%数字键8的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'8'));

(10)数字键9的回调函数:

% --- Executes on button press in pushbutton4.

function pushbutton9_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

%数字键9的回调函数:

numbers=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(numbers,'9'));

(11)小数点“.”键的回调函数:

% --- Executes on button press in pushbutton17.

function pushbutton16_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton17 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%小数点的回调函数;

point=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(point,'.'));

(12)加号“+”键的回调函数:

% --- Executes on button press in pushbutton10.

function pushbutton11_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%加号“+”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,'+'));

(13)减号“-”键的回调函数:

% --- Executes on button press in pushbutton9.

function pushbutton12_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%减号“-”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,'-'));

(14)乘号“×”键的回调函数:

% --- Executes on button press in pushbutton7.

function pushbutton13_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

%乘号“×”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,'*'));

(15)除号“÷”键的回调函数:

% --- Executes on button press in pushbutton8.

function pushbutton14_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%除号“÷”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,'/'));

(16)左括号“(”键的回调函数:

% --- Executes on button press in pushbutton21.

function pushbutton21_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton21 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%左括号“(”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,'('));

(17)右括号“)”键的回调函数:

% --- Executes on button press in pushbutton20.

function pushbutton20_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton20 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%右括号“)”键的回调函数;

signs=get(handles.edit1,'string');

set(handles.edit1,'string',strcat(signs,')'));

(18)等号“=”号键的回调函数:

% --- Executes on button press in pushbutton15.

function pushbutton15_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton15 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%等号“=”号键的回调函数;

%get函数获取输入文本框edit1的string属性,并赋值与x;

x=get(handles.edit1,'string');

%利用执行字符串命令eval()计算用户输入的表达式,得到的结果为char型;

y1=eval(x);

%利用字符串输出格式控制函数sprintf()将字符型常量精确到小数点后十位;

y=sprintf('%.10f',y1);

%利用属性设置函数set()将字符型结果返回到输出文本框edit2的string属性;

set(handles.edit2,'string',y);

(19)CLC键的回调函数:

% --- Executes on button press in pushbutton19.

function pushbutton19_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton19 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%CLC键的回调函数;

%清空输入文本框edit1的string属性;

set(handles.edit1,'String','');

%清空输出文本框edit2的string属性;

set(handles.edit2,'String','0');

(20)Delete键的回调函数:

% --- Executes on button press in pushbutton18.

function pushbutton18_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton18 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%Delete键的回调函数;

%get()函数获取当前输入文本框的string属性,并赋值与s1;

s1=get(handles.edit1,'string');

%length(s1)函数获取s1字符串的长度,并利用s1(1:length(s1)-1)获取s1的第一个到第(length(s1)-1)个字符串,已达到删除前一个字符的目的;

s2=s1(1:(length(s1)-1));

%利用属性设置函数set()将字符型结果返回到输入文本框edit1的string属性;

set(handles.edit1,'string',s2);

(21)Exit键的回调函数:

% --- Executes on button press in pushbutton17.

function pushbutton17_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton17 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%Exit键的回调函数;

close;

(22)菜单“关于”的回调函数:

%

--------------------------------------------------------------------

function Untitled_8_Callback(hObject, eventdata, handles)

% hObject handle to Untitled_8 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

%显示的版权信息;

message1=sprintf(['Copyright(C) 2012 *******\n\n','Version1.0\n\n','MyCalculator\n\n']);

%读取图像,供关于消息框显示图标;

[IconData,IconCMap]=imread('MyCalculator.png');

%弹出消息框;

about=msgbox(message1,'版权信息','custom',IconData,IconCMap);

%在按下确定按钮,关闭关于消息框前,不做其他操作;

waitfor(about);

7、调试运行程序:

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

matlab实验报告

数学实验报告 班级: 学号: 姓名: 实验序号:1 日期:年 月 日 实验名称:特殊函数与图形 ◆ 问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到 明白直观的体现,如函数的性质等。同时,借助直观的图形,使初学者更容易接受新知识,激发学习兴趣。 ◆ 实验目的:本实验通过绘制一些特殊函数的图形,一方面展示这些函数的特点属性, 另一方面,就 Matlab 强大的作图功能作一个简单介绍。 实验原理与数学模型: 1、 球2222x y z R ++= ,x=Rsin φcos θ, y= Rsin φsin θ, z= cos φ, 0≤θ≤2π , 0≤φ≤π 环面 222222222()4(),(cos )cos ,x y z a r a x y x a r φθ+++-=+=- (cos )sin ,sin ,02,02y a r z r φθφφπθπ=-=≤≤≤≤ 2、 平面摆线:2 22 31150,(sin ),(1cos ),0233 x y x a t t y a t t π+-==-=-≤≤ 3、 空间螺线:(圆柱螺线)x=acost , y=asint , z=bt ;(圆锥螺线)22 cos ,sin ,x t t y t t z t === 4、 椭球面sin cos ,sin sin ,cos ,02,0x a y b z c φθφθφθπφπ===≤<≤≤ 双叶双曲面3 tan cos ,tan sin ,sec ,02,22 x a y b z c π φθφθφθπφπ===≤<- << 双曲抛物面2 sec ,tan 2 u x au y bu z θθ=== 实验所用软件及版本:mathematica(3.0) 主要内容(要点): 1、 作出下列三维图形(球、环面) 2、 作出下列的墨西哥帽子 3、 作出球面、椭球面、双叶双曲面,单叶双曲面的图形 4、 试画出田螺上的一根螺线 5、 作出如图的马鞍面

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

中南大学matlab课后答案-第九章

实验指导 1, >> figure('Color',[1,0,0],'WindowButtonDownFcn','text(0.5,0.5,''Left Button Pressed'')');axis off 2, (1)默认属性 >> x=linspace(0,600,100000);y=(log(x+sqrt(1+x.*x)))/2;line(x,y) 句柄操作 >> x=linspace(0,600,100000); y=(log(x+sqrt(1+x.*x)))/2; line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(300,3.5,'文字标注') (2)默认属性 >> t=linspace(0,20,500);x=t.*t;y=5.*t.*t;line(x,y) 句柄操作 >> t=linspace(0,20,500); x=t.*t;y=5.*t.*t;line(x,y); line(x,y,'linewidth',3,'linestyle','-.','color','r'); text(250,1600,'文字标注') 3, (1) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=x.*x+y.*y-5.*sin(x.*y); axes('view',[-37.5,30]); surf(x,y,z); light('position',[10,20,4000]); shading interp (2) >> x=linspace(0,50,1000); [x,y]=meshgrid(x); z=y.*y.*y; axes('view',[-37.5,30]); surf(x,y,z); light('position',[30,20,1300000]); shading interp 4, >> x=-2*pi:0.01:2*pi; y1=sin(x); y2=cos(x); axes('position',[0.1,0.6,0.2,0.2]); plot(x,y1); axes('position',[0.6,0.6,0.2,0.2]); plot(x,y2); axes('position',[0.1,0.1,0.2,0.2]); fplot('tan(x)',[-1.5,1.5]); axes('position',[0.6,0.1,0.2,0.2]);

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

matlab实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

中南大学matlab题目

1 求函数在指定点的导数值 () 23 2 123,1,2,3 026 x x x f x x x x x == >> syms x >> a=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >> f=det(a); >> diff(f,1) ans = 6*x^2 >> diff(f,2) ans = 12*x >> diff(f,3) ans = 12 2 符号法求下列函数的导数或积分 1)y=x10+10x+log x 10,求y’ f=('x^10+10^x+log(10)/log(x)') f = x^10+10^x+log(10)/log(x) >> diff(f) ans = 10*x^9+10^x*log(10)-log(10)/log(x)^2/x 2)y=ln(1+x), 求y’’∣ x=1 f=('log(1+x)/log(e)') f = log(1+x)/log(e) >> diff(f,1,2) ans = -1/(1+x)^2/log(e) 3) y=e x/cosx,求y’ f=('exp(x)/cos(x)') f = exp(x)/cos(x)

>> diff(f) ans = exp(x)/cos(x)+exp(x)/cos(x)^2*sin(x) 4) function f=fun0(t) f=t*sin(t) int('fun0','0','pi') ans = 1/2*pi^2 5) 已知函数z=sin(xy), 计算 syms x y >> z=('sin(x*y)') z = sin(x*y) >> diff(diff(z,y,2),x) ans = -cos(x*y)*y*x^2-2*sin(x*y)*x 3 用数值方法求定积分 1) function f=fun(x) f=x.^2.*sqrt(2.*x.^2+3) quad('fun',1,5) ans = 232.8057 2) function f=fun(x) f=x./sin(x).^2 quad('fun',pi/4,pi/3) ans = 0.3835 4 已知数据[x,y]如下表,试求2次拟合多项式f(x),然后求x=0.05,0.25,0.45,0.65,0.85,1.05各点的函数近似值,并绘出拟合曲线及求得

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

matlab实验报告

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131姓名:陈万全学号:132852 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的

命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

中南大学matlab课后习题(1)

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0.34245*10^-6) w= 1.4142 (2)a=3.5;b=5;c=-9.8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a);x x = 0.9829 (3)a=3.32;b=-7.9; y=2*pi*a^2*[(1-pi/4)*b-(0.8333-pi/4)*a]; y y= -128.4271 (4)t=[2,1-3i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z= 1.0e+004* 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 -0.3696i 1.7706 - 1.0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans= 4723-10 12 3726 -15 73 7 a^2-b+eye(3) ans= -18 -217 17 22 533 109 21867 526 (2)a*b ans= 14 14 16 -10 51 21 125 328 180 a.*b ans = -8 15 4 0 35 24 -9 122 0 b*a ans = -110-15 7 22853 3 -1 28 (3)a/b ans =

1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 b\a ans = -0.5106 -8.6170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043 (4)[a,b] ans= -1 5 -4 8 3 -1 0 7 8 2 5 3 361 7 -3 2 0 [a([1,3],:);b^2] ans = -15 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3.已知a,完成下列操作。 a=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans= 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.00005.0000 32.0000 5.0000 0 32.0000 c=a(:,1:2) c = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 d=a(2:4,3:4) d = 65.0000 5.0000 0 32.0000 54.0000 3.1400 e=b*c e = 1.0e+003 * 0.9141 -0.2239

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

中南大学Matlab与科学计算样题 (加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中不正确的有: a) 2a =pi; b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 02 1at bt μμ=++0μ为0℃水的黏度,值为3 1.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); Z=x.*exp(-x.^2-y.^2); ; a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明: >> x=0.5:0.5:3.0; >> y=[1.75,2.45,3.81,4.80,8.00,8.60]; >> a=polyfit(x,y,2)

a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]; >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在x=0.5附近的根. 21x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes 方法计算如下积分 1 5x ? (a )133.6625 (b) 23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8. 某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘米。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p =1.3431e-005,没有显著差异。 b) p =0.9688,没有显著差异。 c) p =0.4956,有显著差异。 d) p =0.9688,有显著差异。 22x y x y e x y e --?-=??-+=??

matlab实验报告

Matlab实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

广州大学学生实验报告1 matlab 程序设计

广州大学学生实验报告 开课学院及实验室:机械与电气工程学院计算机楼 301室2014 年10 月30 日

2、MATLAB指令窗的基本操作 MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的: (1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致; (2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。实际上,矩阵是MATLAB工作的基本元素。 (3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示; (4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点: a、变量名、函数名对字母大小写敏感 b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线 c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。因此,凡是显示在Workspace Browser中的变量 都是“有效”的,其后可以被调用,否则不能被调用。 d、对于像 等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。 e、复数和复数矩阵的表示方法。 (5)其他操作的操作要旨和操作技巧的运用。 3、计算结果的图形表示 计算结果可视化是MATLAB的主要组成部分,借助图形表现数据是十分常用的“数据表达手段”,尤其当数据量相当庞大时,因为图形可以表现数据内在联系和宏观特征。关于MATLAB绘图的基本方法在后续章节中详细讲述,本实验主要通过示例了解MATLAB绘图的基本功能。 4、Current Directory、路径设置器和文件管理 理解当前目录Current Directory和搜索路径的作用是正确使用MATLAB的关键环节。当前目录指的是当前MA TLAB工作的目录,MATLAB运行指令需要打开或者保存的文件,都首先在目录中查找或保存。搜索路径则是MATLAB工作时,需查找相应的文件、函数或变量所在的相关文件夹所在的路径。 在理解当前目录Current Directory和搜索路径的作用的基础上,也要掌握当前目录Current Directory和搜索路径的设置方法,这是正确使用MA TLAB 的必要步骤。 为了理解MATLAB当前目录Current Directory和搜索路径的作用,可以大致了解一下当用户从指令窗送入一个名为cow的指令后,MATLAB的“运作次序”: (1)MATLAB在内存中检查,看cow是不是变量;如果不是,进行下一步; (2)检查cow是不是内建函数;如果不是进行下一步; (3)在当前目录下,检查是否有名为cow的M文件存在;如果不是,进行下一步; (4)在MA TLAB搜索路径的其他目录下,检查是否有名为cow的M文件存在。

matlab实验报告

实验报告 实验课程:MATLAB综合实验 学生姓名: 学号: 专业班级: 2012年 5 月 20 日 实验四模拟滤波器频率特性测试 一、实验目的 1、掌握低通无源滤波器的设计; 2、学会将无源低通滤波器向带通、高通滤波器的转换; 3、了解常用有源低通滤波器、高通滤器、带通滤波器、带阻滤波器的结构与特性; 二、预备知识 1、学习“模拟滤波器的逼近”; 2、系统函数的展开方法; 3、低通滤波器的结构与转换方法; 预习报告中回答以下问题: 1、实际中常用的滤波器电路类型有哪些,有何特点? 2、有源滤波器、无源滤波器的概念,优缺点和各自的应用场合? 3、绘出低通、带通、带阻、高通四种滤波器的理想频响曲线及实际频响曲线,两者 有何根本区别,产生原因? 三、实验原理 模拟滤波器根据其通带的特征可分为: (1)低通滤波器:允许低频信号通过,将高频信号衰减; (2)高通滤波器:允许高频信号通过,将低频信号衰减; (3)带通滤波器:允许一定频带范围内的信号通过,将此频带外的信号衰减; (4)带阻滤波器:阻止某一频带范围内的信号通过,而允许此频带以外的信号衰减; 各种滤波器的频响特性图: 图2一1低通滤波器图2一2高通滤波器 图2一3带通滤波器图2一4带阻滤波器 在这四类滤波器中,又以低通滤波器最为典型,其它几种类型的滤波器均可从它转 化而来。 1、系统的频率响应特性是指系统在正弦信号激励下系统的稳态响应随激励信号频率变

化的情况。用矢量形式表示: 其中:|H(j ω)|为幅频特性,表示输出信号与输入信号的幅度比随输入信号频率的变化关系;φ(ω)为相频特性,表示输出信号与输入信号的相位差随输入信号频率的变化关系。 2、H(j ω)可根据系统函数H(s)求得:H(j ω)= H(s)︱s=j ω因此,对于给定的电路可根椐S 域模型先求出系统函数H(s),再求H(j ω),然后讨论系统的频响特性。 3、频响特性的测量可分别测量幅频特性和相频特性,幅频特性的测试采用改变激励信号的频率逐点测出响应的幅度,然后用描图法描出幅频特性曲线;相频特性的测量方法亦可改变激励信号的频率用双踪示波器逐点测出输出信号与输入信号的延时τ,根椐下面的公式推算出相位差 当响应超前激励时为 ()φω正,当响应落后激励时()φω为负。 四、实验原理图 图2一5实验电路 图中:R=38k Ω,C=3900pF ,红色框内为实验板上的电路。 五、实验前预习内容: 1、写出原理图中高、低通及并联后滤波器网络的电压移函数,计算截止频率,并画出幅 频特性及相频特性曲线; 2、测试频率特性时,测试点频率应如何选取。 六、实验内容及步骤: 将信号源CH1的信号波形调为正弦波,信号的幅度调为Vpp=10V 。 1、RC 高通滤波器的频响特性的测量: 将信号源的输出端(A)接实验板的IN1端,滤波后的信号OUT1接示波器的输入(B) 。根据被测电路的参数及系统的频特性,将输入信号的频率从低到高逐次改变十 次以上(幅度保持Vipp=10v) , 逐个测量输出信号的峰峰值大小(Vopp)及输出信号与输入信号的相位差 ,并将测量数据填入表一: 表一 得到幅频特性为: 2.RC 低通滤波器的频响特性的测量: 将信号源的输出(A)接实验板的IN2,滤波后的输出信号OUT2接示波器的输入(B) 。根

Matlab作业题

Matlab作业题: 1、作出函数y=x4-4x3+3x+5 (x [0,6])的图形,用小红点标出其在[0,6]之间的最小值点,并在最小值点附近标出该最小值点的坐标值; 程序: function f=myfun(x) f=x.^4-4*x.^3+3*x+5; x=linspace(0,6,100); y=x.^4-4*x.^3+3*x+5; x1=fminbnd(@myfun,0,6) y1=myfun(x1) 结果: x1 = 2.9115 y1 = -13.1300 plot(x,y,x1,y1,'r*') text(x1,y1,'2.9115,-13.1300'); 0123456 2、某公司有一批以每桶2元购进的彩漆,为了获得较高的利润,希望以较高的价格卖出,但价格越高,售出量就越少,二者之间的关系由表一给出。于是打算增加广告投入来促销。而广告费与销售量的关系可由销售增长因子来描述。例如,投入3万元的广告费,销售因子为1.85,意味着做广告后的销售量将是未做广告销售量的1.85倍。根据经验,广告费与销售因子的关系如表2,现请你作出决策:投入多少广告费和售价为多少时所获得的利润最大?

表1 表2 彩漆的销售量 摘要 在经济学中,某种产品的销售量与产品自身的价格存在着负相关关系,即产品价格上升会导致产品的销售量减少,产品价格下降会导致产品的销售量增加。与此同时,广告宣传对产品的销售量也是影响深远的。对一个企业而言,广告费既不是越少越好,也不是多多益善。广告活动的规模和广告费用的大小,应与企业的生产和流通规模相适应,在发展中求节约。 为研究产品销售量与售价和广告费用的关系,我们收集了某售价与预期销售量和广告费与销售增长因子的一些数据(见附录一),并建立了预期销售量1y 与售价1x 的线性模型: 11^ 1333.54222 .50x y -= 销售增长因子2y 与广告费2x 的二次函数模型: 22^ 0409.00188 .1x y +=—2 2 0004.0x 利润p 与售价1x 和销售增长因子2x 的模型: 2 2 2211)0004.00409.00188 .1)(1333.54222 .50)(2(x x x x x p --+--= 关键字:预期销售量 广告费 销售增长因子 线性回归

相关主题
文本预览
相关文档 最新文档