matlab循环结构程序设计实验报告
实验三MATLAB程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握选择结构、多分支选择结构程序的编程方法。3、掌握多种循环结构程序的编程方法。4、掌握定义函数文件和调用函数文件的方法。二、实验内容 1、MATLABM文件的创建与使用。 (1)建立自己工作目录,如D:\MATLAB。在File菜单中,单击SetPath菜单项,在弹出对话框中建立目标文件夹,:单击AddFolder按钮,将自己的工作目录D:\MATLAB添加到搜索目录之中,按Save按钮保存,如图1。 图1工作目录设置 (2)在M文件编辑器中编制命令行文件。在File菜单中,单击New—>M-File,弹出M文件编辑器,如图2: 图2编辑器 在编辑器中输入如下命令程序: %求小于XX且为2的整数次幂的正整数。f(1)=2;k=1; whilef(k)3-x+6endend 3、编写一个函数M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。其中方均根值(RootMeanSquare)的计算公式为: rms? 并用下面数据测试你写的函数:(1)x=sin(0::6*pi) (2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。 (3)(4)(5)(6)(7)(8)(9)(10)(11) 4、编写一个函数M文件,若给出一个向量x?[x1,x2, functionfun(x) %UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoesheregsum(x)mean(x)max(x)min(x) sqrt(meansqr(x))end xn],函数返回如 下范德蒙矩阵。 ?1?x?1?x12??n?1?x?1 1x2 2x2 n?1x2 1?xn??2 xn???n?1xn?? 1??111 ?2345? ?,同时例如在命令窗口输入>>v=myvander([2345]),得v?? ?????? 生成一些数据测函数。 functionfun4_vander(A) %UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoeshererot90(vander(A))end 5、分别使用while和for编写命令文件,用循环语句编程计算s值: s??(n3?n2) n?2 10 同时对编写的文件设置断点,观察变量取值的变化情况。functionfun5() %UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoesheren=2;s=0;whilen0&&rem(x,1)==0disp(x)whilex~=1ifrem(x,2)==1x=x*3+1;disp('->')disp(x)endx=x/2;disp('->')disp(x)endend ifrem(x,1)~=0||x3求f1-f100中 最大值,最小值,各数之和。 正数,零、负数的个数。 三、实验步骤(程序和结果) 1.方法1:y=0;n=100; >>fori=1:n y=y+1/i/i; end >>y y= >>pi=sqrt(6*y) pi= y=0;n=1000; fori=1:n y=y+1/i/i; end >>y y= pi=sqrt(6*y) pi= y=0;n=10000; >>fori=1:n y=y+1/i/i; end >>y y= pi=sqrt(6*y) pi= 方法2:n=100;i=1:n; >>f=1./i.^2; >>y=sum(f) y= >>pi=sqrt(6*y) pi= n=1000;i=1:n; >>f=1./i.^2; >>y=sum(f) y= >>pi=sqrt(6*y) pi= y=0;n=10000; fori=1:n y=y+1/i/i; end >>y y= pi=sqrt(6*y) pi= 2.y=0; n=0; while(y>A=input('输入矩阵A:'); B=input('输入矩阵B:'); C=zeros(size(A,1),size(B,2)); forii=1:si