5、编写一个函数文件,实现两个矩阵的乘积和点乘,并在命令文件中调用该函数。
建立函数文件文件cheng.m function [x,y]=cheng(A,B) x=A.*B; y=A*B; 主程序:
A=input('输入矩阵A:')
B=input('输入能与矩阵A相乘的矩阵B:') [x,y]=cheng(A,B) 结果:
输入矩阵A:[2,3;4,9] A =
2 3 4 9
南昌大学教务处
输入能与矩阵A相乘的矩阵B:[2,1;7,3] B =
2 1 7 3 x =
4 3 28 27 y =
25 11 71 31
三、实验要求
1、预习,写出自己设计的实验步骤; 2、按照实验室规范使用计算机; 3、做好实验记录(包括程序和结果)。
四、思考题
1、break语句和continue语句有什么区别?
答:while循环、do-while循环和for循环中,可以用break语句跳出循环,用continue语句结束本次循环,而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。continue语句只结束本次循环,
南昌大学教务处
而不是终止整个循环的执行。break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.
continue语句和break语句的区别:
continue语句只结束本次循环,而不是终止整个循环的执行。break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。break语句可以用在循环语句和switch语句中。在循环语句中用来结束内部循环;在switch语句中用来跳出switch语句。 循环嵌套时,break和continue只影响包含它们的最内层循环,与外层循环无关
2.函数文件和命令文件有何异同?
函数文件是另一种形式的M文件,每一个函数文件都定义一个函数,事实上,matlab提供的标准函数大部分是由函数文件定义的。函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除。 1.函数文件一般都要带参数 , 都要有返回结果 , 而命令文件没有参数与返回结果
2.函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而命令文件的变量是全局变量 , 执 行完毕后仍被保存在内存中
3.函数文件要定义函数名 , 且保存该函数文件的文件名必须是函数名 .m 。M 函数文件可以有多个因变量和多 个自变量 , 当有多个因变量时用[ ] 括
南昌大学教务处
起来。
3.写出书中82页第10题的程序运行结果。 (1)程序: s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4
if rem(k(j),2)~=0 s=s+k(j); end end end S 结果: s = 108
(2)程序:
南昌大学教务处
函数文件sub.m: function fun=sub(z) global x z=3*x; x=x+z;
命令文件: global x x=1:2:5;y=2:2:6; sub(y); x y 结果: x =
4 12 20 y =
2 4 6
4、*和.*运算有什么区别?
南昌大学教务处