通过几个题目了解matlab中function的使用
- 计算从1加到100 ,这里用到了for循环。
%计算从1加到100
s = 0
for i = 1:100
s = s+i;
end
disp(s);
新建中除了脚本,还有经常使用的功能就是“函数”。在函数编辑器中编辑好代码并保存后,在命令框中输入这个function的名字就可以运行。记住,一定要在括号里设定参数。
不可以在function的编辑界面直接点击运行。
function mysum(n) % mysum是我定义给这个function的名字
% n需要自己给值。例如在命令行中输入:sum(10),在这里就代表着从1一直加到10
s = 0
for i = 1:n
s = s+i;
end
disp(s);
end
- 从a一直加到b
%从a一直加到b
function mysum2(a,b)
s=0;
for i = a:b
s = s+i;
end
disp(s);
end
例如:从6一直加到10.
用function可以提前写好函数,以方便后面的计算。例如计算(11+12+13+14)+(15+16+17+18+19+20)
可以看到此时我将(11+12+13+14)的值保存到s1的时候出现了报错。这个是因为我们之前在使用function的时候删除了它的输出定义,这个时候只需要定义一下输出就行。
function result = mysum3(a,b)
s=0;
for i = a:b
s = s+i;
end
result = s; %return
end
这个时候就没问题了。
- 数约数以及判断一个数是不是质数
%数一个数有几个约数 function result = count_factors(n) count = 0; for i = 1:n if mod(n,i)==0 count = count+1; end end result = count; end
%判断一个数是不是质数,如果是result=1,不是result=0. function result = is_prime(n) count = count_factors(n) if count == 2 result = 1 else result = 0 end end
列举从1到1000的质数
%列出1到1000的所有质数 for i = 1:1000 if is_prime(i) == 1 disp(i); end end