MATLAB程序设计实验Word文档格式.docx

上传人:b****4 文档编号:17640659 上传时间:2022-12-07 格式:DOCX 页数:25 大小:483.74KB
下载 相关 举报
MATLAB程序设计实验Word文档格式.docx_第1页
第1页 / 共25页
MATLAB程序设计实验Word文档格式.docx_第2页
第2页 / 共25页
MATLAB程序设计实验Word文档格式.docx_第3页
第3页 / 共25页
MATLAB程序设计实验Word文档格式.docx_第4页
第4页 / 共25页
MATLAB程序设计实验Word文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计实验Word文档格式.docx

《MATLAB程序设计实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计实验Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计实验Word文档格式.docx

d)分支(if-else-end、switch-case)

e)异常处理(try-catch)

3、编写程序演示return、input、keyboard、pause、break、error、lasterr、warning、lastwarn等指令的功能和用法。

a)return的功能和用法

b)input的功能和用法

c)keyboard的功能和用法

d)pause的功能和用法

e)break的功能和用法

f)error的功能和用法

g)lasterr的功能和用法

h)warning的功能和用法

i)lastwarn的功能和用法

4、统串演算实验:

设计实验演示验证eval与feval的功能和用法。

a)eval的功能和用法

b)feval的功能和用法

5、程序调试实验。

a)出错时

b)改正后

6、程序性能剖析实验

a)profileon

b)relaxzzy(300)

c)profileviewer

实验记录

data=randn(1,20);

plot(data);

运行结果:

保存后选择debug/run菜单或按F5键运行,观察workspace中多出了一个变量data。

functionerr=stderr(arr)

%实验误差(标准差估计)evaluatealongeachcolumnofarr

err=std(arr)./sqrt(size(arr,1)-1);

文件存为stderr.m,运行时输入a=[1;

2;

3];

建立一个列数组a,然后输入stderr(a)则给出a的方差

a)演示循环(for、while)

For循环

>

%for循环

sum1=0;

sum2=0;

n=input('

请输入一个数:

'

ifn<

2

disp('

输入的数大于等于3'

else

fori=1:

n

sum1=sum1+1

sum2=sum2+2

end

end

While循环

%while循环

sum11=0;

sum22=0;

whilen>

=0

sum11=sum11+1

sum22=sum22+2

n=n-1

b)分支(if-else-end、switch-case)

if-else-end分支结构:

%if-else-end分支:

a=input('

请输入一个数字:

ifa>

1

a=a+1

a=a+2

switch-case分支结构:

%switch-case

n=input('

请输入成绩:

);

k=floor(n/10);

switchk

case{8,9,10}

优秀'

case7

良好'

case6

一般'

otherwise

不及格'

c)异常处理(try-catch)

a=magic(4);

b=eye(3);

try

c=a*b

c=a(1:

3,1:

3)*b

catch

%return

return

%input

k=mod(n,2);

case1

您输入的为奇数'

case0

您输入的为偶数'

%keyboard启动键盘管理pause暂停执行

ifn<

errordlg('

请输入大于0的数'

keyboard

k=floor(n/10);

%pause

x=-pi:

pi/10:

pi

y1=(sin(x)).^2;

subplot(1,2,1);

plot(x,y1,'

r'

pause(5)

y2=x.^2+x+3;

subplot(1,2,2);

plot(x,y2,'

g'

暂停之后:

%break

forn=1:

100

ifmod(n,17)~=0

continue

break

100以的自然数中第一个能被17整除的数是:

disp(n)

if(n>

0)

y=log(n);

error('

定义域大于0'

lasterr

%warning

warning('

warning('

定义域小于0'

lastwarn

4、串演算实验:

K>

a='

b=magic(4)'

;

eval(a)

h=sin;

pi;

y=feval(h,x);

把原程序中的xxmu=xmu*size(yy)改为

xxmu=xmu*ones(size(yy))。

改正后,函数实现的功能:

profileon

relaxzzy(300)

profileviewer

函数实现的功能:

ProfileSummary窗口显示:

relaxzzy函数的进行运行分析

由上例图可知,relaxzzy函数中最耗时的语句是newplate(j,k)=(plate(jm1,km1)/2+plate(jm1,k)+...

plate(jm1,kp1)/2+plate(j,km1)+plate(j,kp1)+...

plate(jp1,km1)/2+plate(jp1,k)+plate(jp1,kp1)/2)/6

其执行时间为0.651s,被调用次数为3000000次。

这个语句可以加速,用过向量化改为矩阵的形式,就可以加速了。

实验总结

MATLAB脚本和函数的异同点:

M脚本文件与M函数文件都是由一系列的语句组成的相对独立的一个运行体。

M脚本文件没有参数传递功能,但M函数文件有此功能。

M函数文件的格式有严格规定,它必须以“function”开头。

函数文件与脚本文件的主要区别在于:

函数文件一般都要带参数,都要有返回结果,而脚本文件没有参数与返回结果。

函数文件的变量是局部变量,运行期间有效,运行完毕就自动被清除,而脚本文件的变量是全局变量,执行完毕后仍被保存在存中。

通过这次试验我掌握了M文件的编写,运行和调试。

知道了函数文件和脚本文件的相同点和不同点。

同时也掌握了matlab程序设计中的基本语法,关系运算,以及for和while循环结构,if-else-end和switch的分支结构和异常处理的try-catch结构。

通过自己调试一个程序,明白了程序调试的基本方法。

自己通过对一个程序的性能剖析,知道了性能剖析的基本方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1