实验三MATLAB程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014秋2012级《MATLAB程序设计》实验报告班级:软件C121姓名:冯杨腾学号:125692

实验三 MATLAB程序设计

一、实验目的

1、掌握建立和执行M文件的方法。

2、掌握选择结构、多分支选择结构程序的编程方法。

3、掌握多种循环结构程序的编程方法。

4、掌握定义函数文件和调用函数文件的方法。

二、实验内容

1、MATLAB M文件的创建与使用。

(1)建立自己工作目录,如D:\MATLAB。在File菜单中,单击

Set Path菜单项,在弹出对话框中建立目标文件夹,:单击Add Folder按钮,将自己的工作目录D:\MATLAB添加到搜索目录

之中,按Save按钮保存,如图1。

图1 工作目录设置

(2)在M文件编辑器中编制命令行文件。在File菜单中,单击

New—>M-File,弹出M文件编辑器,如图2:

图2 编辑器

在编辑器中输入如下命令程序:

%求小于2000且为2的整数次幂的正整数。

f(1)=2;

k=1;

while f(k)<1000

f(k+1)=f(k)*2;

k=k+1;

end

f,k

调试后,将其以test1.m形式保存在D:\MATLAB中。

(3)命令行程序运行。进入命令窗口,键入test1,观察运行结果:

f =

Columns 1 through 9

2 4 8 16 32 64 128 256

512

Column 10

1024

k =

10

(4)按上述步骤,在在编辑器中输入如下函数文件:

function f=tt(n)

%求小于任何正整数且为2的整数次幂的正整数。 %c=n(n)

%n 可取任意正整数。 %2004年8月。 f(1)=2; k=1;

while f(k)

调试后,将其以test2.m 形式保存在D:\MATLAB 中。 (5)进入命令窗口,键入test2(9),观察程序运行结果。

>> test2(9) f =

2 4 8 ans =

2 4 8

2、编写一个函数M 文件,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。

sin ,

(),

036,3

x x y x x x x x ≤⎧⎪=<≤⎨⎪-+>⎩

选择一些数据测试编写的函数。 源程序 :

function [y]=myfun(x)

if x<=0

y=sin(x);

elseif x>3

y=-x+6;

else

y=x;

end

运行结果:

>> test(0)

ans =

>> test(2)

ans =

2

>> test(5)

ans =

1

3、编写一个函数M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。其中方均根值(Root Mean Square)的计算公式为:

rms=

并用下面数据测试你写的函数:

(1)x=sin(0:0.01:6*pi)

(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随

机数。

源程序:

function [sum_x,m_x,max_x,min_x,rsm_x] = myfun7(x)

sum_x=0;

a=x;

for k=a;

sum_x=sum_x+k;

n=length(x);

for i=1:n

m_x=sum_x/n;

end

end

min_x=x(1);

for t=1:n

if min_x>x(t)

min_x=x(t);

end

end

max_x=x(1);

for t=1:n

if max_x

max_x=x(t);

end

end

sum_x1=0;

for t=1:n

sum_x1=sum_x1+x(t).^2; rms_x=sqrt(sum_x1/n); end

sum_x

m_x

max_x

min_x

rms_x

运行结果:

(1)

>> x=sin(0:0.01:6*pi); >> myfun7(x)

sum_x =

-2.1218e-004

m_x =

-1.1256e-007

max_x =

1.0000

min_x =

-1.0000

rms_x =

0.7071

2)

>> x=rand(1,200);

>> myfun7(x)

sum_x = 99.5448 m_x =

0.4977 max_x = 0.9961 min_x = 0.0046 rms_x = 0.5778

4、编写一个函数M 文件,若给出一个向量12[,,]n x x x x =,函数

返回如下范德蒙矩阵。

1222212

1

111

2

11

1n n

n n n n x x x x x x x x x ---⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦

例如在命令窗口输入>>v =myvander([2 3 4 5]),得

111123

4

5

491625

8

2764125v ⎡⎤⎢⎥⎢

⎥=⎢⎥⎢⎥

⎣⎦,同时生成一些数据测函数。

源程序:

function[v]=myvander(x) n=length(x); v=ones(n,n); for j=1:n for i=1:n

v(i,j)=x(j)^(i-1); end end

运行结果:

x=([2 3 4 5]); >> test(x) ans =

相关文档
最新文档