河北工业大学matlab实验二.docVIP

  • 96
  • 0
  • 约1.12万字
  • 约 21页
  • 2017-05-21 发布于浙江
  • 举报
河北工业大学matlab实验二

《MATLAB程序设计》实验报告 一、实验目的: 1、掌握矩阵和数组的表示与赋值方法 2、了解字符串、结构和单元等数据类型在MATLAB中的使用 3、掌握MATLAB中基本的数值运算,了解基本统计函数的使用 4、掌握多项式基本运算以及线性方程组的求解方法 二、实验内容: 1、利用“:”操作符和linspace函数生成数组a=[0,6,12,18,24,30,36,42],并将数组a分别转化为4*2和2*4的矩阵。 2、在MATLAB中输入矩阵,并使用MATLAB回答以下的问题: 创建一个由A中第2列到第4列所有元素组成的4Χ3数组B; 创建一个由A中第3行到第4行所有元素组成的2Χ4数组C; 创建一个由A中前两行和后三列所有元素组成的2Χ3数组D; 根据A利用单下标方法和双下标方法分别创建向量a=[-5 6 15]和向量b=[6 8 1],并利用向量a和b生成矩阵; 利用“[]”删除矩阵A的第二行和第三列。 3、利用ones()函数和zero()函数生成如下矩阵: 4、生成矩阵: 取出所有大于0的元素构成一个向量a(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)。 将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。 5、已知,,,下列运算是否合法,为什么?如合法,写出计算结果? (1) result1=a (2) result2=a*b (3) result3=a+b (4) result4=b*d (5) result5=[b;c]*d (6) result6=a.*b (7) result7=a./b (8) result8=a.*c (9) result9=a.\b (10) result10=a.^2 (11) result11=a^2 (12) result11=2.^a 6、已知 求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果,并观察运算结果。 求c中所有元素的平均值、最大值、中值将c中元素按从小到大顺序排列 解释b(2:3,[1,3])的含义,并将生成的数组赋值给dr1=ab r2=abcd r3=a==b*(-10) r4=~b|c 8、已知 求矩阵A的秩(rank); 求矩阵A的行列式(determinant); 求矩阵A的逆(inverse); 求矩阵A的特征值及特征向量(eigenvalue and eigenvector)。 9、已知多项式f1(x)=2x4-x2+3x+2,f2(x)=3x+2,利用MATLAB进行如下计算: 计算两多项式的乘法和除法; 求多项式f1(x)的根; 分别计算多项式当x=3以及时的值。 10、用两种方法求下列方程组的解,并比较两种方法执行的时间。 11、建立一个元胞数组,要求第一个元素为4Χ4的魔术矩阵,第二个元素为18.66,第三个元素为matlab,第四个元素为等差数列7,9,11,13…99。计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第10个元素。 12、建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: 如何找到第2个人的分数并显示出来; 如何找到第2个人的每门课程3个阶段的平均分数并显示出来; 所有同学的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里; 找到这个班所有同学的姓名放到一个元胞数组里; 13、完成以下操作: 已有str=‘decision 20 made on 10/20/10’,查找字符串中20出现的位置。 有字符串s1=‘matlabexpress’,s2=‘matlabexcellent’,比较两个字符串的前8个字符是否相同,相同输出1,否则输出0。 统计字符串s1=‘matlabexpress’中ex出现的次数,并替换为EX。 三、源程序和实验结果 1. a=[0:6:42] a = 0 6 12 18 24 30 36 42 linspace(0,42,8) ans = 0 6 12 18 24 30 36 42 reshape(a,4,2)

文档评论(0)

1亿VIP精品文档

相关文档