17.5工具函数

 
:y= (用熟石膏、木板等)装天花板 (x)

返回不小于的最小整数x.

这相当于向正无穷大取整。

如果x很复杂,返回ceil(真实(x))+ceil(imag(x.

ceil([-2.7,2.7])⇒ -2    3

详见: 地板,圆形的,修理.

 
:y= 修理 (x)

截断的小数部分x并返回整数部分。

这相当于向零取整。如果x很复杂,返回修复(真实(x))+修复(imag(x.

修复([-2.7,2.7])⇒ -2    2

详见: (用熟石膏、木板等)装天花板,地板,圆形的.

 
:y= 地板 (x)

返回不大于的最大整数x.

这相当于向负无穷大取整。如果xiscomplex,返回地板(真实(x))+地板(imag(x.

地板([-2.7,2.7])⇒ -3    2

详见: (用熟石膏、木板等)装天花板,圆形的,修理.

 
:y= 圆形的 (x)

返回最接近的整数x.

如果x很复杂,返回圆形(真实(x))+圆形(imag(x.如果有两个最接近的整数,则返回离零更远的一个。

圆形([-2.7,2.7])⇒ -3    3

详见: (用熟石膏、木板等)装天花板,地板,修理,圆形b.

 
:y= 圆形b (x)

返回最接近的整数x。如果有两个接近的整数,则返回偶数(银行四舍五入)。

如果x很复杂,返回圆形(真实(x))+圆形b(imag(x.

详见: 圆形的.

 
:m= 最大值 (x)
:m= 最大值 (x, [],dim)
:[m,感应电动机] = 最大值 (x)
:m= 最大值 (x,y)

在数组中查找最大值x.

对于向量参数,返回最大值。对于矩阵参数,返回具有每列最大值的行向量。对于二维数组,最大值沿着第一非单重维度操作。

如果可选的第三个参数dim存在,则沿此维度操作。在这种情况下,第二个参数被忽略,并且应该被困扰到空矩阵。

对于两个输入(xy),根据的规则返回成对的最大值广播.

因此

最大(最大(x))

返回二维矩阵的最大元素x

最大值(2:5,圆周率)⇒  3.1416  3.1416  4.0000  5.0000

比较范围中的每个元素2:5具有圆周率,并返回最大值的arow向量。

对于复杂的参数,元素的大小用于比较。如果幅度相同,则结果在(-pi,pi])范围内按相位角排序。因此,

最大值([-1 i 1-i])⇒ -1.

因为所有条目的大小都是1,但-1的相位角最大,值为pi。

如果用一个输入和两个输出自变量调用,最大值还返回最大值的第一个索引。因此

[x,ix]=最大值([1,3,5,2,5])⇒  x=5 ix=3

详见: 最小,cummax,cummin.

 
:m= 最小 (x)
:m= 最小 (x, [],dim)
:[m,感应电动机] = 最小 (x)
:m= 最小 (x,y)

在数组中查找最小值x.

对于向量参数,返回最小值。对于矩阵参数,返回具有每列最小值的行向量。对于二维数组,min沿着第一非单重维度操作。

如果可选的第三个参数dim存在,则沿此维度操作。在这种情况下,第二个参数被忽略,并且应该被困扰到空矩阵。

对于两个输入(xy),根据的规则返回成对的最小值广播.

因此

分钟(分钟(x))

返回二维矩阵的最小元素x

分钟(2:5,圆周率)⇒  2.0000  3.0000  3.1416  3.1416

比较范围中的每个元素2:5具有圆周率,并返回最小值的arow向量。

对于复杂的参数,元素的大小用于比较。如果幅度相同,则结果在(-pi,pi])范围内按相位角排序。因此,

最小值([-1 i 1-i])⇒ -我

因为所有条目的大小都是1,但-i的相位角最小,值为-pi/2。

如果用一个输入和两个输出自变量调用,min还返回最小值的第一个索引。因此

[x,ix]=最小值([1,3,0,2,0])⇒  x=0 ix=3

详见: 最大值,cummin,cummax.

 
:M= cummax (x)
:M= cummax (x,dim)
:[M,感应电动机] = cummax (…)

返回沿维度的累积最大值dim.

如果dim未指定,则默认为按列操作。例如:

cummax([1 3 2 6 4 5])⇒  1  3  3  6  6  6

如果使用两个输出参数调用,则还会返回最大值的索引。

[w,iw]=cummax([1 3 2 6 4 5])⇒M=1 3 3 6 6 im=1 2 2 4 4

详见: cummin,最大值,最小.

 
:M= cummin (x)
:M= cummin (x,dim)
:[M,感应电动机] = cummin (x)

返回沿维度的累积最小值dim.

如果dim未指定,则默认为按列操作。例如:

cummin([5 4 6 2 3 1])⇒  5  4  4  2  2  1

如果使用两个输出参数调用,则还会返回最小值的索引。

[M,IM]=cummin([5 4 6 2 3 1])⇒M=5 4 4 2 1 M=1 2 2 4 4 6

详见: cummax,最小,最大值.

 
:h= 海波 (x,y)
:h= 海波 (x,y,z, …)

按元素计算的平方和的平方根xy.

这相当于sqrt(x2.y2.,但是以避免大值溢出的方式进行计算xy.

海波也可以用两个以上的参数调用;在这种情况下,参数是从左到右累积的:

海波(x,y),z)海波(x,y),z),w
 
:dx= 坡度 (m)
:[dx,dy,dz, …] = 坡度 (m)
:[…] = 坡度 (m,s)
:[…] = 坡度 (m,x,y,z, …)
:[…] = 坡度 (f,x0)
:[…] = 坡度 (f,x0,s)
:[…] = 坡度 (f,x0,x,y, …)

计算采样数据或函数的梯度。

如果m是一个向量,计算的一维梯度m如果m是为每个维度计算梯度的矩阵。

[dx,dy坡度m)计算的一维梯度xy方向如果m是amatrix。其他返回参数可用于多维图。

两点之间的恒定间距可以通过s参数如果s是一个标量,它被假定为所有维度的间距。否则,可以从提供单独的间距值x,…参数。标量值指定等间距。的向量值x,…参数指定该维度的坐标。长度必须与其相应的尺寸相匹配m.

在边界点应用线性外推法。使用数值梯度的第一近似值计算内部点

y’(i)=1/(x(i+1)-x(i-1))*(y(i-1。

如果第一个参数f是一个函数句柄,函数在中的点处的梯度x0使用中心差来近似。例如梯度(@cos,0)近似正弦函数在点上的梯度x0=0与采样数据一样,可以通过sdx,dy,…参数。默认情况下,使用间距1。

详见: diff,del2.

 
:z= (x,y)
:z= (x,y,dim)

计算两个向量的点积。

如果xy是矩阵,计算沿着第一个非单例维度的点积。

如果可选参数dim给出了,计算了该尺寸上的点积。

实施说明:这相当于总和(十、) .*Y,dim),但是避免了形成多个数组并且速度更快。什么时候十、Y是列向量,结果等效于十、' *Y虽然是为整数数组定义的,从于整数对象的范围有限,输出可能与预期结果不同。

详见: 交叉,发散,tensorprod.

 
:z= 交叉 (x,y)
:z= 交叉 (x,y,dim)

计算两个三维向量的向量叉积xy.

如果xy是矩阵,叉积沿着第一维度应用于三个元素。

可选参数dim强制计算指定尺寸的叉积。

示例代码:

十字架([1,1,0],[0,1,1])⇒       1   -1   1

详见: ,卷曲,发散.

 
:div= 发散 (x,y,z,fx,fy,fz)
:div= 发散 (fx,fy,fz)
:div= 发散 (x,y,fx,fy)
:div= 发散 (fx,fy)

计算数组给出的向量场的散度fx,fyfzfx,fy分别地

d d ddiv F(x,y,z)=-F(x,y,z)+-F(x,y,z)+-F(x,y,z)dx-dy dz

向量场的坐标可以从参数给出x,y,zx,y分别地

详见: 卷曲,坡度,del2,.

 
:[cx,cy,cz,v] = 卷曲 (x,y,z,fx,fy,fz)
:[cz,v] = 卷曲 (x,y,fx,fy)
:[…] = 卷曲 (fx,fy,fz)
:[…] = 卷曲 (fx,fy)
:v= 卷曲 (…)

计算数组给出的向量场的旋度fx,fyfzfx,fy分别地

/d d d d d\旋度F(x,y,z)=|--Fz---Fy,--Fx---Fz,--Fy---Fx|\dy dz dz dx dx dy/

向量场的坐标可以从参数给出x,y,zx,y分别地v计算二维输入的角速度向量在z轴方上级标量分量。对于三维输入,在向量场方上级每个网格点上计算标量化。

详见: 发散,坡度,del2,交叉.

 
:L= del2 (M)
:L= del2 (M,h)
:L= del2 (M,dx,dy, …)

计算离散拉普拉斯算子。

对于二维矩阵M这被定义为

1/d^2 d^2 \L=---*|---M(x,y)+---M(x,y)|4\dx^2 dy ^2/

对于N维数组,括号中的和被扩展为包括附加的更高维度上的二阶导数。

评估点之间的间距可以定义为h,定义了所有维度上的等距间距。或者,每个维度中的间距可以通过以下方式单独定义dx,dy等。标量间距自变量定义等距间距,而向量自变量可用于指定可变间距。间距向量的长度必须与的相应尺寸相匹配M。默认间距值为1。

跳过数据点少于3个的维度。边界点是根据内部点的线性外推法计算的。

示例:2*x^3的二阶导数

f=@(x)2*x.^3;dd=@(x)12*x;x=1:6;L=4*del2(f(x));assert(L,dd(x));

详见: 坡度,diff.

 
:f= 阶乘 (n)

返回的阶乘n这里的n是一个真正的非否定的接受者。

如果n是标量,这等效于戳(1:n)。对于向量或矩阵参数,返回数组中每个元素的阶乘。

对于非整数,详见广义阶乘函数伽玛请注意,阶乘函数增长得很快,即使使用双精度值,如果n> 171. Forsuch案例考虑gammaln.

详见: ,伽玛,gammaln.

 
:pf= 因素 (q)
:[pf,n] = 因素 (q)

返回的素数因子分解q.

素数因子分解定义为pf) ==q其中的每个元素pf是一个素数。如果q1.,返回1。输出pf与输入属于相同的数字类。

使用两个输出参数,返回唯一的素数pf及其多样性。也就是说,pf.^n) ==q.

实施说明:如果输入qsingledouble,则不得超过相应的燧石。对于较大的输入,请将其投射到uint64如果它们小于2^64:

因子(uint64(18446744073709011493))⇒     571111    761213  42431951

对于更大的输入,使用sym如果已安装并加载符号包:

因子(sym('9444733049654361449941'))⇒ (sym)1 1 1099511627689·8589934669

详见: gcd,lcm,isprime,素数.

 
:g= gcd (a1,a2, …)
:[g,v1, …] = gcd (a1,a2, …)

计算的最大公约数a1,a2, ….

所有参数的大小或标量必须相同。对于数组,将分别为每个元素计算最大公约数。所有元素都必须是普通整数或高斯(复数)整数。注意,对于高斯整数,gcd仅在相位因子(乘以1、-1、i或-i)之前是唯一的,因此返回四个可能的整数中的任意最大公约数。

可选的返回参数v1,…,包含整数向量,

g=v1 .* a1+v2 .* a2+ ...

示例代码:

gcd([15,9],[20,18])⇒  5  9

编程提示:要查找单个数组中所有元素的GCD,请使用num2数组而不是嵌套调用或循环:

x=[30 42 70 105];#inputsgcd的向量或数组(num2cell(x){:})⇒     1.

详见: lcm,因素,isprime.

 
:l= lcm (x,y)
:l= lcm (x,y, …)

计算的最小公倍数xy,或所有参数列表的。

所有输入必须具有相同的大小或标量。所有元素都必须是贝雷阿尔整数或高斯(复数)整数。对于复杂输入,结果仅在相位因子(乘以+1、+i、-1或-i)之前是唯一的,并且四个结果中的一个是任意返回的。

示例代码:

lcm(5:8,9:12)⇒  45  30  77  24

编程提示:要查找单个数组的所有元素的LCM,请使用num2数组而不是嵌套调用或循环:

x=1:10;#输入的向量或数组scm(num2cell(x){:})⇒     2520

详见: 因素,gcd,isprime.

 
:r= 雷姆 (x,y)

返回除法的余数x/y.

余数使用以下表达式计算

x-y.*修复(x./y)

如果参数的维度不一致,或者其中一个参数很复杂,则会打印错误消息。

编程注意事项:当使用浮点数(双、单)进行计算时,为了与兼容,整数的几个eps内的值将在计算前四舍五入到该整数MATLAB.任何大于的浮点整数燧石(2^53表示双)计算不正确。对于较大的整数值,将输入转换为uint64在调用此函数之前。

按照惯例,

雷姆(x,0)=NaN如果x是浮点变量(x,0)=0如果x是一个整数变量(x,y)返回一个带有signbit的值x

有关相反的约定,详见摩登派青年作用一般来说雷姆在计算除以二后的余数时最好积极乐观的数字。对于负数或当值是周期性的时,摩登派青年是一个更好的选择。

详见: 摩登派青年.

 
:m= 摩登派青年 (x,y)

计算的模xy.

从概念上讲,这是从

x-y.*地板(x./y)

并且被写入使得对于整数类型返回正确的模数。此函数可正确处理负值。也就是说,mod(-1,3)是2,而不是-1,因为雷姆(-1,3)返回。

如果参数的维度不一致,或者其中一个参数很复杂,则会导致错误。

编程注意事项:当使用浮点数(双、单)进行计算时,为了与兼容,整数的几个eps内的值将在计算前四舍五入到该整数MATLAB.任何大于的浮点整数燧石(2^53表示双)计算不正确。对于较大的整数值,将输入转换为uint64在调用此函数之前。

按照惯例,

摩登派青年x, 0) =x摩登派青年x,y)返回一个带有signbit的值y

有关相反的约定,详见雷姆作用一般来说摩登派青年是比雷姆当任何输入是负数时,或者当值是周期性的时。

详见: 雷姆.

 
:</p>= 素数 (n)

将所有素数返回到n.

输出数据类(double、single、uint32等)与的输入类相同n所使用的算法是Eratosthenes筛。

注:对于特定数字n的素数,调用列表_聚合物(n)。或者,调用素数(n日志k*n1.n)这里的kisabout 5或6。这是因为从一个素数到下一个素数的距离平均与素数的对数成正比。关于集成,大约有n素数小于n*日志(5*n).

详见: 列表_聚合物,isprime.

 
:</p>= 列表_聚合物 ()
:</p>= 列表_聚合物 (n)

列出第一个n素数。

如果n未指定,则列出前25个素数。

详见: 素数,isprime.

 
:y= 签名 (x)

计算signum作用

这被定义为

-1,x<0;sign(x)=0,x=0;1,x>0。

对于复杂的参数,签名退货x./abs(x).

请注意符号(-0.0)为0。尽管IEEE 754浮点允许对零进行签名,但0.0和-0.0比较起来是相等的。如果必须测试零是否已签名,请使用signbit作用

详见: signbit.

 
:y= signbit (x)

如果的值为,则返回逻辑truex设置了其符号位,否则为false。

此行为与其他逻辑函数一致。详见逻辑值该行为不同于C语言函数,如果设置了符号位,则C语言函数返回非零。

这与x<0.0,因为IEEE 754浮点允许对零进行签名。比较-0.0 < 0.0是假的,但是signbit(-0.0)将返回一个非零值。

详见: 签名.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号