matlab-primes函数取模(mod)与取余(rem)的区别MATLAB有现成函数 primes
Syntax:
p = primes(n)
Description:
p = primes(n) returns a row vector of the prime numbers less than or equal to n. A prime number is one that has no factors other than 1 and itself.
Examples:
p = primes(37)
The result is
sort of等于什么p = 2  3  5  7  11  13  17  19  23  29  31  37
ind = find(X)  查询⾮零元素的位置,如果X是⼀个⾏向量,则返回⼀个⾏向量,否则,返回⼀个列向量。如果X全是零元素或者是空数组,则返回⼀个空数组。
If A is a vector, prod(A) returns the product of the elements.
If A is a
matrix, prod(A) treats the columns of A as vectors, returning a row vector of
the products of each column
the product of 3 and 4 means 3*4, that is the answer 12.
对于向量返回的是其所有元素的积;
a=prod([1,2,3,4])
a=24;
对于矩阵返回的是按列向量的所有元素的积,然后组成⼀⾏向量;
b=magic(3)
b=
8    1    6
3    5    7
4    9    2
c=prod(b)
c=
96 45 84
通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯⼀的区别在于:
当x和y的正负号⼀样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的⼀样,⽽mod和y⼀样。
这是由于这两个函数的⽣成机制不同,rem函数采⽤fix函数,⽽mod函数采⽤了floor函数(这两个函数是⽤来取整的,fix函数向0⽅向舍⼊,floor函数向⽆穷⼩⽅向舍⼊)。
rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),⽽mod(x,y)返回的是x-n.*y,当y
不等于0时,n=floor(x./y)
sort(A,3)对⼆维数组是没有意义的,只有当A是⼆维以上数组时才有意义,就是对A的第三维进⾏升序排列,第⼀维是列,第⼆维是⾏,第三维是页。。。。。。。。。再继续下去就没有什么实际意义了⼀般三维的排序就意义不⼤了,没有必要追究下去了 >> A=magic(3) A = 8 1 6 3 5 7 4 9 2 >> sort(A,3)  Error using ==> sort DIM must be within array bounds.
============================================================== sort(A)若A是向量不管是列还是⾏向量,默认都是对A进⾏升序排列 sort(A)若A是矩阵,默认对A的各列进⾏升序排列 sort(A,dim) dim=1时等效sort(A) dim=2时表⽰对A中的各⾏元素升序排列看下⾯的例⼦ >> A=magic(3) A = 8 1 6 3 5 7 4 9 2 >> sort(A) ans = 3 1 2 4 5 6 8 9 7 >> sort(A,1) ans = 3 1 2 4 5 6 8 9 7 >> sort(A,2) ans = 1 6 8 3 5 7 2 4 9

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。