实验一 Matlab基础知识一、实验目的:1.熟悉启动和退出Matlab的方法。
2.熟悉Matlab命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握Matlab各种表达式的书写规则以及常用函数的使用。
二、实验内容:1.求[100,999]之间能被21整除的数的个数。
(rem)2.建立一个字符串向量,删除其中的大写字母。
(find)3.输入矩阵,并找出其中大于或等于5的元素。
(find)4.不采用循环的形式求出和式6312ii=∑的数值解。
(sum)三、实验步骤:●求[100,199]之间能被21整除的数的个数。
(rem)1.开始→程序→Matlab2.输入命令:»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=11 22 23 21 32 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;0356;05321;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-+xy=0;i=1while 1f=1/(2i-1);y=y+fif y>5break;endi=i+1endn=i-1y=y-f3.保存,命名为eg1,并在命令窗口输入eg1:»eg1n=3094y=4.9999编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。
1.打开Matlab,新建M文件2.输入命令:C=input(‘请输入成绩’);for i=1:length(c)if c(i)>=90& c(i)<=100grade(i)=’优’; elseif c(i)>=80& c(i)<=89 grade(i)=’良’; elseif c(i)>=70& c(i)<=79 grade(i)=’中’; elseif c(i)>=60& c(i)<=69 grade(i)=’及’; elsegrade(i)=’不’; end end grade3. 保存,命名为eg2,并在命令窗口输入 »eg2请输入成绩[100,59,60,79,70,69,80,59,99] grade=优不及中中及良不优编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。
1. 打开Matlab ,新建M 函数文件2. 输入命令: function y=hs(x)51022-+xy=2*sqrt(x.^2+10)-53.保存,命名为hs,并在命令窗口输入»hs(12)y=19.8193ans=19.8193编程求分段函数2226;0356;05321;x x x xy x x x x xx x+-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y。
1.打开Matlab,新建M函数文件2.输入命令:function y=zhi(x)for i=1:length(x)if x(i)<0&x(i)~=-3y(i)=x(i).^2+x(i)-6;elseif x(i)>=0&x(i)<5&x(i)~=3&x(i)~2y(i)=x(i).^2-x(i)-5*x(i)+6;else y(i)=x(i).^2-x(i)+1;endendy3.保存,保存名为zhi,并在命令窗口输入»x=[-5,-3,1,2,2.5,3,3.5];»zhi(x)y=Columns 1 through 614.0000 13.0000 2.0000 3.0000 -0.2500 7.0000Column 70.7500ans=Columns 1 through 614.0000 13.0000 2.0000 3.0000 -0.2500 7.0000Column 70.7500实验三 Matlab的基本绘图命令一、实验目的:1.熟悉二维、三维绘图函数的基本命令。
2.熟悉图形修饰与控制的基本方法。
3.了解特殊图形的绘制。
二、实验内容:1.在同一图形窗口按不同纵坐标绘制200e-0.05x sinx和0.8e-0.5xsin(10x)曲线,要求x的取值范围为[0,20],并加图例注解。
2.将一个图形窗口分割成四个子窗口,并在四个窗口中分别以条形图,填充图,阶梯图,杆图绘制曲线y=2e-0.5x。
3.已知t取值范围(0,20π),步长成π/100,x=sint,y=cost,z=tsintcost,绘制三维曲线。
4.已知:t=-3:0.125:3,x=sin2t, y=cos2t,z=x2+2y2,绘制该函数的四种三维图,坐标轴范围[-1,1,-1,1,0,2] 。
三、实验步骤:在同一图形窗口按不同纵坐标绘制200e-0.05x sin x和0.8e-0.5xsin(10x)曲线,要求x的取值范围为[0,20],并加图例注解。
1.打开Matlab文件编辑器,编写程序如下:x=0:0.01;20;y1=200.*exp(-0.05x).*sin(x);y2=(0.8).*exp(-0.5x).*sin(10x);plot y y(x,y1,x,y2);legend (‘y1’,’y2’);2.运行程序,结果如图所示:将一个图形窗口分割成四个子窗口,并在四个窗口中分别以条形图,填充图,阶梯图,杆图绘制曲线y=2e-0.5x。
1.打开Matlab文件编辑器,编写程序如下:x=0:1:10;y=2.*exp(-0.5*x);subplot(2,2,1);bar(x,y,’b’);xlabel(‘x’);ylabel(‘y’);subplot(2,2,2);fill (x,y,’y’);xlabel(‘x’);ylabel(‘y’);subplot(2,2,3)stairs(x,y,’m’);xlabel(‘x’);ylabel(‘y’);subplot(2,2,4);stem(x,y,’c’);xlabel(‘x’);ylabel(‘y’);2.运行程序,结果如图所示:●已知t取值范围(0,20π),步长成π/100,x=sint,y=cost,z=tsintcost,绘制三维曲线。
1.打开Matlab文件编辑器,程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot(x,y,z);grid on;2.运行程序,结果如图所示:●已知:t=-3:0.125:3,x=sin2t, y=cos2t,z=x2+2y2,绘制该函数的四种三维图,坐标轴范围[-1,1,-1,1,0,2] 。
1.打开Matlab文件编辑器,编写程序如下:t=-3:0.125:3;x=sin(2*t);y=cos(2*t);[x,y]=meshgrid(x,y);z=x.^2+2*(y.^2);mesh (x,y,z);axis([-1,1,-1,1,0,3]);figureMesh(x,y,z);axis([-1,1,-1,1,0,3]);figuresurf(x,y,z);axis([-1,1,-1,1,0,3]);figuresurf(x,y,z);axis([-1,1,-1,1,0,3]);2.运行程序,结果如图所示:实验四 MATLAB 数值与符号计算一、 实验目的:1. 掌握多项式建立表示的方法,及基本多项式运算指令2. 掌握函数绘图指令及方法3. 掌握求数值导数、数值积分、代数方程数值求争解的方法。
4. 掌握定义符号对象,求符号函数极限、导数和积分方法。
二、 实验内容:1. 求多项式x 4+8x 3-10的根。
2. 求有理式(3x 2+6x+9)(x 2+2x)的导数。
3. 定义函数myfun: y(1,2)=[200*sin(x)/x, x^2],绘制该函数在x=[-20,20]区间内的图形。
4. 计算:,其中f(x)=sin(x),f(x)=1/cos(x)。
5. 求: 三、 实验步骤:求多项式x 4+8x 3-10的根。
1. 打开Matlab ,在命令窗口输入: »p=[1,8,0,0,-10] »r=root s(p) 2. 运行结果: r=-8.0194 1.0344()f x dx ⎰221ln()lim y x y x e x y →→++-0.5075+0.9736i-0.5075-0.9736i●求有理式(3x2+6x+9)(x2+2x)的导数。
1.打开Matlab,在命令窗口输入:»a=[3,6,9]»b=[1,2,0]»w=conu(a,b)2.运行结果:w=3 12 21 18 03.在命令窗口输入»k=polyder(w)4.运行结果:k=12 3 6 42 18●定义函数myfun: y(1,2)=[200*sin(x)/x, x^2],绘制该函数在x=[-20,20]区间内的图形。