sp; 0 0 0 0
找出A中的元素等于B中的元素。注意,=和= =意味着两种不同的事:= = 比较两个变量,当它们相等时返回1,当它们不相等时返回0;在另一方面, = 被用来将运算的结果赋给一个变量。
»
tf=B-(A>2)
tf
=
8 7 5 4 3 2 1 0 -1
找出A>2,并从B中减去所求得的结果向量。这个例子说明,由于逻辑运算的输出是1和0的数组,它们也能用在数学运算中。
»
B=B+(B==0)*eps
B
=
Columns 1 through 7
8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000
Columns 8 through 9
1.0000 0.0000
这是一个演示,表明如何用特殊的MATLAB数eps来代替在一个数组中的零元素,eps近似为2.2e-16。这种特殊的表达式在避免被0除时是很有用的。
»
x=(-3:3)/3
x
=
-1.0000 -0.6667
-0.3333 0 0.3333 0.6667 1.0000
»
sin(x)./x
Warning:
Divide by zero
ans
=
0.8415 0.9276 0.9816 NaN 0.9816 0.9276 0.8415
由于第四个数据是0 ,计算函数sin(x)/x时给出了一个警告。由于sin(0)/0是没定义的,在该处MATLAB结果返回NaN。用eps替代0以后,再试一次,
»
x=x+(x==0)*eps;
»
sin(x)./x
ans
=
0.8415 0.9276 0.9816 1.0000 0.9816 0.9276 0.8415
现在sin(x)/x在x=0处给出了正确的极限。
上一页 [1] [2]