专题三 matlab基础
1、在前面两节中是在命令窗口写的命令,但是不能保存,不能重复执行。接下来学习程序编写
2. 文件的种类:在新建的时候选择你要建立的脚本文件还是函数文件就可以了
单引号里面的内容仅仅是提示信息,100才是你input进去的东西
if条件结构 (单分支、双分支)
中rem语句的作用是,除后取余。
x = input(‘请输入:’) %输入的东西默认当成数字或者矩阵
str = input(‘请输入’,‘s’) %输入的东西当成字符串存起来
是一种函数,其功能是把字符串转换数值。
语句
x=input('x=?'); 'x=?'仅仅是提示的作用,输入的内容存在x里面
输入2,执行第一个case2语句,输出111,不会执行第二个case语句。
input里面的s是一个变量,指的是输入的内容以字符串的形式存在c里面,为什么要加这个s呢?是因为如果不加,系统就把输入的东西默认为数字和矩阵进行存储。
c(1)是取单词的首字母,如果首字母包含在case里面,输出c取到的首字母
case {'a','e','i','o','u'} 各元素之间是用分号隔开的
disp([x,'以元音字母开头'])注意是[]是数组,因为输出两个以上用分号隔开的东西,用数组归纳到一起
()是个函数
C = (A) 通过将 A 的每个元素放置于 C 的一个单独元胞中,来将数组 A 转换为元胞数组 C。
所以这里实用得意思是可以把(0:34)的所有整数一个一个展示出来
这样写就不行,因为case后面不能跟运算的语句
此时循环执行四次
y=0赋初值,到时候运算出来的结果放在y里面。
g=-1是用来表示符号的,循环一次g=-g符号改变一次
但这个循环也可以由向量的方法来实现:
生成x向量x=[1,3,5],然后再由x向量生成y向量,y向量里每一个元素就对应每一项,调用sum函数的值,然后求和。(-1).^(2:n+1)就是前面符号的限制
while语句:适合于循环次数不确定的情况
if条件语句后面如果成立,也就是n不能被21整除,就执行,即跳出循环,如果n能被21整除,则不进条件语句,直接执行n,最后执行break,跳出for循环
使用语句时,后面的语句不再执行,跳出循环,后面再继续进入循环
p=1:m 创建了一个向量 双层循环,i层外循环从2以步长为1增长到根号m
j是内层循环,P(J)=0,即把2的倍数划去
find()函数,把p向量里不是0的元素坐标找出来放在n向量里
f就是函数句柄以后调用就直接调用函数句柄
@(x,y),x和y都是输入的参数
函数的建立:格式为空格f=myfun(x,y),这里f是你函数的输出,myfun是你这个函数的函数文件名(这个名字你可以自己随便取的),然后括号里边的就是你的输入。如这个函数:
f=myfun(x1,x2)
f=x1*x2(这个是你的函数的功能,及表达式)
首先是基本格式:
[ , , , ] = ( , , , )
方括号中的是输出变量,小括号中的是输入变量。
是固定格式, 是你自己取得函数名称。
值得注意的是,只有一个输出变量时,则不需要加方括号如果根本没有输出变量, 包括等号在内的都不需要了,如果没有输入变量, 函数名后面的括号可有可无。
存放函数时注意路径,不然搜索不到。
尤其需要注意的是函数名和你的文件命必须一致.编写好函数就是调用,在调用的过程中只需要调用函数名及具体参数即可。
示例如下:
路径问题:理论上来说你放在哪里都无所谓,只是要把文件所在路径加入的搜索路径列表当中就行。
在命令行调用这个函数,执行结果如右图,可以发现这个函数输入参数可调节
全局变量和局部变量
函数文件里定义了两个全局变量,在命令行窗口里也要定义全局变量
s=wad(1,2)调用函数wad,然后s=1x1+2x2=5