前言
练习一中的A,M,N是什么?保存的.m又该如何使用?
练习一中,你接触了基本运算的操作,接下来你将接触到函数封装。在程序中,为了工程中的可封装性与重复性,这是必要的一步。
如果你有做完第一个练习中的习题,就已经接触了一部分,如果没有,放轻松,不会太难的。
练习是学习语言的最好途径。
1.跟练习一在命令行操作不同,这次新建一个ex2.m文件。
2.输入时注意“完全相同”,不过你也不必完全按照字面意思。显示出来的程序可能不同,重要的是你输入文本的正确性。
function [result] = ex2(X, y , t)
%
%
%
X = X .^2;
y = y / 2;
u = min(y);
d = min(u');
P = X + d;
result = sum(P);
end
尝试
1.还记得之前练习一中的生成矩阵命令吗,创建三个变量在命令行窗口作为参数调用你刚建立的函数。就像下面这样:
ex2(x,y,t)
你应该看到的
>>a = magic(2);b = magic(3) ; c = magic(5);
>>ex2(a,b,c)
ans =
18 14
2.理解首行,[]中为输出的参数,()为需要输入的参数,填补上面%留下来的空缺,说明该程序的过程,或者你也可以在每一行上面添加一行注释,说明这行的作用。
3.发现程序中并没有使用到变量T吗?添加一些语句,让T参与进来。
如果你忘了练习一中的一些内容,请耐心回顾完成,在初学时的练习与重复是必须的
加分习题
1.修改ex2.m里面的输入输出函数部分,再次尝试调用函数,但这次按照你规定的输入输出来调用和接收。
2.找个你想要实现的计算过程,创建一个你自己的.m文件,尝试调用它。
3.尝试了解变量的不同,试试在别的程序语言中的字符串,又或是Matlab/Octave里面特有的元胞数组类型。如果遇到困难了,就开始像前一练习一样查阅资料。
注意
1.Matlab/Octave里面一切都是矩阵,所以注意你的程序是否符合关于进行矩阵运算的前提条件,如果你并没有相关的线性代数知识,随便找一本线性代数的教材,浏览一遍前三章。
2.不要在函数里面定义与输入变量同名的变量,这样会覆盖掉你输入的变量,没人会实现一个不能通用泛化的算法。
网友评论