1、matlab实验报告MATLAB程序设计教程实验报告姓名: 学号: 专业: 班级: 201 年 月 日星期日第一次作业1. 求下列表达式的值 。(1)w=sqrt(2)*(1+0.34245*power(10,-6)w = 1.4142(2)其中a=3.5,b=5,c=9.8。x=(2*pi*3.5+(5+(-9.8)/(pi+3.5*5*(-9.8)-exp(2)/(tan(5+(-9.8)+3.5)x = 6.6186(3),其中, alpha=3.32;beta=-7.9;y=2*pi*alpha*alpha*(1-pi/4)*beta-(0.8333-pi/4)*alpha) y =
2、-128.4271(4),其中t=2,1-3i;5,-0.65;z=exp(2*t)*log(t+sqrt(1+t*t)/2 z = 1.0e+004 * 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 - 0.3696i 1.7706 - 1.0539i2. 已知,求下列表达式的值:(1)、(其中I为单位阵); A=-1,5,-4;0,7,8;3,61,7;B=8,3,-1;2,5,3;-3,2,0;I=eye(size(A); A+6*B ans = 47 23 -10 12 37 26 -15 73 7 A2-B+I ans = -18 -217 17
3、22 533 109 21 867 526(2)A*B、A.*B、B*A、B.*A; 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 = -11 0 -15 7 228 53 3 -1 28 B.*A ans = -8 15 4 0 35 24 -9 122 0(3)A/B、BA; A/B ans = 1.2234 -0.9255 2.9787 -0.9468 2.3511 -0.9574 4.6170 3.8723 13.8936 BAans = -0.5106 -8.6
4、170 -1.1277 0.7340 17.5745 1.8085 -0.8830 -21.2128 0.4043(4)A, B、A(1 3,:);B2。 A,B ans = -1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 A(1 3,:);B2 ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 93. 已知1) 取出A的前三行构成矩阵B,其前两列构成矩阵C,其右下角32子矩阵构成的矩阵D,B与C的乘积构成矩阵E。A=23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14;
5、B=A(1:3,:);C=A(:,1:2);D=A(2:4,3:4);E=B*C;2) 分别求E E E&D ans = 1 1 0 1 1 1 E|D ans = 1 1 1 1 1 1 E|D ans = 0 0 1 0 0 04. 产生均值为3,方差为1 的5阶正态分布的随机方阵。 3+sqrt(1)*randn(5) ans = 1.9894 2.3564 3.0000 3.8956 3.5689 3.6145 3.3803 2.6821 3.7310 2.7444 3.5077 1.9909 4.0950 3.5779 2.6225 4.6924 2.9805 1.1260 3.04
6、03 2.7041 3.5913 2.9518 3.4282 3.6771 1.52495. 使用函数,实现方阵A左旋、右旋的功能,。 A=1,4,7,10;2,5,8,11;3,6,9,12;4,7,10,13 A = 1 4 7 10 2 5 8 11 3 6 9 12 4 7 10 13 rot90(A) ans = 10 11 12 13 7 8 9 10 4 5 6 7 1 2 3 4 rot90(A,-1) ans = 4 3 2 1 7 6 5 4 10 9 8 7 13 12 11 106. 建立一个字符串向量,删除其中的大写字母。ch=abcdefghiJK1234ch= a
7、bcdefghiJK1234 k=find(ch=A&ch ch(k)=ch = abcdefghi12347. 分别建立一个结构矩阵和一个单元矩阵来存储自己班上5名同学的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。并查询自己的所有信息以及女生的成绩。a(1).x1=12345678;a(1).x2=一二三;a(1).x3=自动化;a(1).x4=97,66,88,79,90,81;a(2).x1=12345677;a(2).x2=二三四;a(2).x3=自动化;a(2).x4=87,86,88,89,90,91;a(3).x1=12345676;a(3).x2=三四五;
8、a(3).x3=自动化;a(3).x4=97,86,78,89,90,91;a(4).x1=12345675;a(4).x2=四五六;a(4).x3=自动化;a(4).x4=87,86,88,89,90,91;a(5).x1=12345674;a(5).x2=七八九;a(5).x3=自动化;a(5).x4=87,86,98,89,90,91a = 1x5 struct array with fields: x1 x2 x3 x4 a(1)ans = x1: 12345678 x2: 一二三 x3: 自动化 x4: 97,66,88,79,90,81第二次作业1. 分析脚本M文件及函数M文件的区
9、别。分别编写脚本文件,实现以下要求:(1)M脚本文件名不必与函数名相同;(2)M函数文件调用时需要提供函数参数,而M脚本文件只需要提供文件名;(3)M脚本文件创建的每个变量都会保存到Matlab工作区,而M函数文件只有输出结果才保存到Matlab工作区中;(4)文件格式上的一些区别。1) 求100,999之间能被21整除的个数。s=0;for n=100:999if rem(n,21)=0s=s+1;endendss = 432) 用magic(6)产生一矩阵,用至少两种方法求解其所有元素的和。(提示:1、for循环;2、sum函数)m=0;n=0;A=magic(6)for k=A m=m+
10、k;endfor B=m n=n+B;enddisp(n)A = 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 666Sum函数A=magic(6)sum(sum(A)A = 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11ans = 6662. 编写函数文件,实现从键盘输入一个3位整数,将它反向输
11、出。如639,输出为936。调用该函数,输出结果。m=input(请输入一个三位数:);m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);m=m1+m2*10+m3*100;disp(m);请输入一个三位数:123 3213. 定义一个函数文件,求,要求在函数文件中包含能够通过help查询到的说明。然后调用该函数文件求的值。函数名:abcdefghijk12345678 function y= abcdefghijk12345678(m,n)i=1:n;y=sum(i.m);y=abcdefghijk12345678(1,100)+abcdefgh
12、ijk12345678(2,50)+abcdefghijk12345678 (-1,10)y = 4.7978e+0044. 已知,当x取-3.0,-2.9,-2.8,2.8,2.9,3.0时,1) 求各点的函数值;函数名 ysinfunction y=ysin(x)y=sin(x+1.7).*log(pi+x)/2)./(1+cos(x+1.7);x=-3.0:0.1:3;y=ysin(x)y = Columns 1 through 12 2.0130 1.4460 1.0835 0.8252 0.6311 0.4807 0.3621 0.2678 0.1924 0.1322 0.0847
13、0.0478 Columns 13 through 24 0.0200 0 -0.0130 -0.0198 -0.0209 -0.0167 -0.0076 0.0064 0.0250 0.0482 0.0762 0.1090 Columns 25 through 36 0.1469 0.1904 0.2398 0.2958 0.3594 0.4317 0.5141 0.6086 0.7178 0.8453 0.9962 1.1774 Columns 37 through 48 1.3996 1.6789 2.0418 2.5340 3.2431 4.3588 6.3853 11.2510 39
14、.4306 -28.8207 -10.8760 -6.8045 Columns 49 through 60 -4.9934 -3.9630 -3.2935 -2.8202 -2.4653 -2.1871 -1.9614 -1.7731 -1.6124 -1.4725 -1.3487 -1.2373 Column 61 -1.13592) 求这些数据的平均值;w=sum(y)/61w =0.16166求分段函数的值。用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。x=input(请输入x的值);if x=0&x y=fqpxl(100)y =3.1321 y=fqp
15、xl(1000)y = 3.1406 y=fqpxl(10000)y=3.14159、已知n=1时,f1=1;n=2时,f2=0;n=3时,f3=1;n3时,fn=fn-1-2fn-2+fn3; 求f1f100中,最大值、最小值以及各数之和。f(1)=1;f(2)=0;f(3)=1; for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3); endf ;fmax=max(f)fmin=min(f) sumf=sum(f) fmax = 4.3776e+011fmin = -8.9941e+011sumf = -7.4275e+01110、某公司员工的工资计算方法如下:1
16、)工作时数超过120小时者,超过部分加发15%;2)工作时数低于60小时者,扣发700元;3)其余按每小时84元计发。试编程按输入的工号和该号员工的工时数,计算应发工资。n=input();a=input();if a=120y=a*84+(a-120)*84*0.15;elseif a=60 y=a*84;elseif a60 y=a*84-700;enddisp(n,员工的工资,y);y请输入工号:001请输入工作小时数:100001员工的工资?y = 8400第三次作业作业:1.(1).以向量x=0:0.1:1为横坐标, y=2.3,4.3,2.5,6,4.9,1.5,1,4.6,5,6
17、.7,0为纵坐标绘制x-y的图形。x=0:0.1:1;y=2.3,4.3,2.5,6,4.9,1.5,1,4.6,5,6.7,0;plot(x,y) (2).当x为向量,y为MN的矩阵时,plot以y的每一列为纵坐标,以x为横坐标绘图,在一个图形窗口同时绘制多条曲线,这些曲线具有相同的横坐标。t=linspace(0,2*pi,100);x=t;t;y=sin(t);cos(t);plot(x,y) (3).当输入参数有矩阵形式时,配对的x、y按对应列元素为横、纵坐标分别绘制曲线,曲线条数相当于矩阵的列数。x1=linspace(0,2*pi,100);y1=sin(x1);y2=2*sin(
18、x1);y3=3*sin(x1);x=x1;x1;x1;y=y1;y2;y3;plot(x,y,x1,cos(x1) 1. 设区间取101点,绘制函数的曲线。x=0:pi/50:2*pi;y=(0.5+3*sin(x)/(1+x.*x).*cos(x);plot(x,y)运行结果:2. 已知,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。x=linspace(0,2*pi,100);y1=x.*x;y2=cos(2*x);y3=y1.*y2;plot(x,y1,x,y2,g:,x,y3,r-.)(2) 在不同的窗口用不同的颜色和线型绘制三条曲线。x=linspace(0,
19、2*pi,100);y1=x.*x;y2=cos(2*x);y3=y1.*y2;plot(x,y1)figure(2)plot(x,y2,g:)figure(3)plot(x,y3,r-.)(3) 以子图形式用不同的颜色和线型制三条曲线。x=linspace(0,2*pi,100);y1=x.*x;y2=cos(2*x);y3=y1.*y2;subplot(3,1,1);plot(x,y1);subplot(3,1,2);plot(x,y2,g:);subplot(3,1,3);plot(x,y3,r-.);(4) 为(3)所有子图添加标题、坐标轴说明及适当的文本标注。x=linspace(0
20、,2*pi,100);y1=x.*x;y2=cos(2*x);y3=y1.*y2;subplot(3,1,1)plot(x,y1)xlabel(variable X,FontWeight,bold);ylabel(variable Y,FontWeight,bold);title(y=x2,FontWeight,bold);subplot(3,1,2)plot(x,y2,g:)xlabel(variable X,FontWeight,bold);ylabel(variable Y,FontWeight,bold);title(y=cos2x,FontWeight,bold);subplot(3
21、,1,3)plot(x,y3,r-.)xlabel(variable X,FontWeight,bold);ylabel(variable Y,FontWeight,bold);title(y=x2*cos2x,FontWeight,bold);3. 编写函数绘制三维球面,允许用户指定球面圆心位置及半径;并调用函数文件绘制圆心在(2,3,2.5)处,半径为2的三维球面。a=input(请输入球心X的坐标=);b=input(请输入球心Y的坐标=);c=input(请输入球心Z的坐标=);R=input(请输入球的半径R=);x,y,z=sphere(100);X=x*R+a;Y=y*R+b;Z
22、=z*R+c;surf(X,Y,Z)4. 使用子图,在一个图形窗口分图绘制函数(-5x,y5)的三维网格图和曲面图,要求:1) 第一个子图直接用mesh函数绘图,不加任何修饰;2) 第二个子图直接用surf函数绘图,去掉网格线;3) 第三个子图在第二个子图的基础上使用颜色插值,平滑表面;4) 为所有子图添加标题、坐标轴说明及适当的文本标注。x,y=meshgrid(-5:0.1:5);z=cos(x).*cos(y).*exp(sqrt(x.2+y.2)/4);colormap(hot);subplot(3,1,1);mesh(x,y,z)xlabel(variable X);ylabel(variable Y);zlabel(variable Z);title(不加任何修饰);subplot(3,1,2);surf(x,y,z);xlabel(variable X);ylabel(variable Y);zlabel(variable Z);title(去掉网格线);subplot(3,1,3);surf(x,y,z);shading interp;xlabel(variable X);ylabel(variable Y);zlabel(variable Z);title(使用颜色插值,平滑表面);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1