教程06目录
脚本的打开方式
一种是打开保存的脚本然后点击运行;
另一种是直接在命令窗口保存的脚本的名称,然后回车
函数(function)
与脚本(script)的区别
区别1——有无括号
sum、mod等所有函数,输入时都带一个括号(),如sum(v)、mod(8,3);而要运行Script时,输入脚本名然后回车就可以了
区别2——有无head和end
设置函数
inputarg表示输入值,同样是需要的时候进行输入
不需要返回值和输入值
保存function后在命令窗口输入函数名称(如下图untitled())即得到函数运算的结果。
不需要返回值,需要输入值
一个参数
不是在function代码中设定,而是命令窗格中设定
两个参数
a+(a+1)+(a+2)+…+b
需要返回值和输入值
情形:
比如v1 = [6 7 8 9],v2 = [1 3 5 7 9],求v1内的加上v2内的所有数之和。可以用MATLAB系统里的函数来做:对v1内求和放在变量s1里s1 = sum(v1),对V2内求和放在变量s2里s2 =sum(v2),再对两个变量求和s =s1+ s2。【直接在命令窗口操作】
能不能用s1=untitled(a,b),将v1中的和保存到s1中呢???
因为没给输出定义,所以不能!!!
此时需要对输出进行定义:
如下说明保存成功:
然后就可以将v1的和保存到s1中,v2的和保存到s2中,然后求v1、v2中所有值得和(=s1+s2)
函数套函数
示例1-求某数有多少个约数
function result = count_factors(n)
count = 0;
for i = 1: n
if mod(n,i) == 0
count = count + 1;
end
end
result = count;
end
命令窗格输入: count_factors(n),n为输入的值,即可。
理解:比如n=5,则5分别除以1~5,然后通过看是否余数为0来看有多少个约数。
mod(·)为自定义函数中套用的系统函数
示例2-判断某数是否是质数
命令窗格输入:is_prime(n),n为输入的值,即可。
注意1)在命令窗口使用函数前,要保存过函数才可以。
注意2)套用定义过的函数,定义过的函数也要保存过才能被识别。
函数和脚本的综合
求1~1000中所有的质数,承接示例2,在脚本中输入:
for i= 1: 1000
if is_prime(i)==1
disp(i)
end
end
以上即可!
来源:CSDN
作者:丞星girl
链接:https://blog.csdn.net/weixin_44964099/article/details/104441073