MATLAB入门学习笔记6

馋奶兔 提交于 2020-02-22 18:22:54

脚本的打开方式

一种是打开保存的脚本然后点击运行;
另一种是直接在命令窗口保存的脚本的名称,然后回车

函数(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
以上即可!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!