(1)利用rand()函数来创建随机数
(2)rand(m,n)函数创建m行n列的随机数矩阵
https://blog.csdn.net/iii66yy/article/details/124584050?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167953933116800217213705%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167953933116800217213705&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-124584050-null-null.142v76control_1,201v4add_ask,239v2insert_chatgpt&utm_term=Matlib%E4%B8%AD%E7%9A%84ones%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4187
(1)ones()函数创建全1的矩阵
(2)ones(n)返回一个n×n的全1矩阵
(3)ones(m,n)返回一个m×n的全1矩阵
(1)zeros(n)函数创建n×n全0矩阵。
(2)zeros(m,n)返回一个m×n的0矩阵
(1)ceil() 向上取整
(2)floor()向下取整
(3)round()四舍五入取整
(1)s=size(A)
当只有一个输出参数时,返回一个行向量。该行向量第一个元素为矩阵A的行数,第二个元素是矩阵A的列数。
(2)[r,c]=size(A)
当有两个输出参数时,将矩阵A的行数返回到第一个输出变量r,将矩阵A的列数返回到第二个输出变量c。
(3)size(A,n)
第二个参数n可以取值1或2。当n=1时,即r=size(A,1)返回矩阵A的行数;当n=2时,即c=size(A,2)返回矩阵A的列数。
(1)r = rem(a,b)
返回用 b 除以 a 后的余数
(1)标量被除后的余数:
a = 23;
b = 5;
r = rem(a,b)
r = 3;
(2)向量被除后的余数
a = 1:5;
b = 3;
r = rem(a,b)
(1)基础语法:
if condition %condition就相当于执行一个动作的条件,
输出的结果其实是逻辑判断 true 1或者false 0,
以此来选择是否执行action
action %如果condition是true 1,则action将会被执行,
如果condition是false 0,则直接跳到end
end
num=-4
if num < 0
num = abs(num)
end
此时输出num的数值为4。
(2)结合else,这一点特别类似于我们Java代码
if sum(w) > 0
t = chrom(i,j);
chrom(i,j) = chrom(i,w);
chrom(i,w) = t;
else
chrom(i,j) = free;
end
简单for循环
for i = 1:N
disp(i)
end
先简单来介绍一下sum函数,对一个矩阵A而言
(1) sum(A,‘all’): 对矩阵A的所有元素进行求和,返回的是一个标量
(2) sum(A,1): 对矩阵A的每一列进行求和,返回的是一个行向量
(3) sum(A,2): 对矩阵A的每一行进行求和,返回的是一个列向量
用于返回某个返回某个数据元素在矩阵中的位置。
(1)对于1*5的矩阵而言
z = [1 2 3];
w = find(z == 3);
disp("输出z矩阵")
disp("输出查找元素的位置")
disp(w)
(2)对于3*3的矩阵而言:
z = [1 2 3;4 6 6;7 8 9];
[w,q] = find(z == 7);
disp("输出z矩阵")
disp(z)
disp("输出查找元素的行列")
disp(w)
disp("输出查找元素的竖列")
disp(q)
randsample(n,k) ,在n区间内产生k个不相同的数。
例如:从1到400中产生300个不重复的数。
a = randsample(1:400,300);