第3章MATLAB编程基础 15 3.3.2全局变量 全局变量需要使用global关键字来声明,不同函数可以共享全局变量的内容,当一个函数对全局 变量进行修改后,其他函数所读取的全局变量值也发生相应变化。 3.3.3永久变量 永久变量(persistent)只能在M文件的函数中定义和使用,需要在使用该变量的前面定义,其初 始化值为空([])。与局部变量不同的是,即使函数退出,永久变量也不会从内存中清除,当下次调用 该函数时,仍保留退出前的变量值 下面的例子中将变量avalue定义为永久变量,每调用一次函数plusone,永久变量avalue的值增 加1,并将其赋值给返回参数t,程序代码如下: (文件位于Psyfeng\Litt1 e Examples目录下) -pI ty(avalue 8定义变量ava1ue为水久变量 o1。e-:边果变量值为空则对颗值】 avalue-avalue+1:如果不为空,则变量值加 end 店-ava1ue冫将变量值联子返回参数et 然后在命令窗口中调用函数plusone,结果如下: >plusone ans- 1 >plusonek ans >plusonek ans= 3 可以看出,每执行函数pluseone一次,返回值增加1。 3.4关键字 通过函数iskeyword列出MATLAB中系统使用的关键字 >iskeyword ans 'break' 'case' atch 'continue 'else 'elseif
16 PSYCHTOOLBOX工具箱及MATLAB编程实例 end 'function 'persistent' return switch' 'try' 3.5运算符 运算符包括:算术运算符、关系运算符和逻辑运算符。 3.5.1算术运算符 1.矩阵运算 矩阵的运算要符合相应的运算规则(此处不再赘述)。 (1)加减(+、-) >a=[45:73jg a、 4 5 7 3 >b-f29:1061g b= 10 6 >ab ans 919 >a-b化 ans= >a+10比 ans (2)乘除(*、D >a-[45:73:1061 a=
第3幸MATLAB编程基础 17 >b=[29:106:-1-31化 6、1 9 10 >a*b'化 ans 53 70-19 8 41 -16 -28 >a/b化 ans- 0.33330.33330 -0.15380.73080 -0.00001.0000 (3)右除0) >a-rand (3,2) 0.9572 0.1419 0.4854 0.8003 89 >b-rand (3,2) b= 0.7922 0.0357 0.9595 0.8491 0.655 0.9340 >albk ans 0.8690 -0.0998 0.1783 1.2788 (4)乘方() >a-rand(3) a 1506 069g 8:59 0.1493 02575 0.8909 0.1386 0.8407 >a3 ans 16561 0.800 16031 15407 0.791 2.1680 1.9382 1.1993 (5)转置(),行列互换 >a-rand (3) a 2543 092g 02511 0.8143 0.3500 0.6160 0.2435 0.1966 0.4733
18 PSYCHTOOLBOX工具箱及MATLAB编程实例 >a' anss 0.2543 0.8143 0.2435 06160 (6)索引(:) >a=rand(5) a 0357 0.2858 0.0759 0.1299 0.1622 0311 0.5497 0.3804 0.7792 0.0119 0.5285 0.9172 0.5678 0.9340 0.3371 0.1656 >>a:,2) ans .2858 0.7572 0.5678 >a(:,2:end) ans 0.2858 0.0759 0.1299 0.1622 07537 05308 0469 03112 0.3804 0.779 0.0119 0.5285 0.5678 0.9340 0.3371 0.1656 2.数组运算 数组运算符是数组间元素与元素间的运算 (1)点乘(.*) >>a=randi([19],[3,2]) 7 8 3 >b-randi(t191,【3,21)k b= >a.bke ans 56 (2)点左除() >a./be
第3章MATLAB编程基础 19 ans 0.8750 0.5000 2.000 1.333 0.8889 1.5000 (3)点右除(.) >a.1b丝 ans 1.1429 2.0000 0.5000 1.125 (4)点乘方(.) >a."b ans 5764801 4096 134217728 (5)点转置() >(a+b*i)'丝 ans 7.0000-8.00001 8.0000-4.000018.0000-9.00001 1.0000-2.0000i 4.0000-3.0000i3.0000-2.0000i >(a+b*1).'化 ans 1.82.883 8.8t.84 8.82898 3.5.2关系运算符 关系运算符用于大小相等比较,可以是两个单独的元素之间,也可以是两个数组之间进行比较 1.大于小于(、<) >>a=randi(I19],[3,2])C a= 942 8 >b=rand(191,l3,21) b= >a>b ans 0 >>a>52 ans■