52matlab技术网站,matlab教程,matlab安装教程,matlab下载
标题:
随机一个具有特殊要求的6*6的矩阵
[打印本页]
作者:
matlab的旋律
时间:
2022-9-1 13:00
标题:
随机一个具有特殊要求的6*6的矩阵
作为一个资深算法工程师,谈了一家公司被一个面试的工程师要求用matlab写一个程序,具体要求如下:
生成一个6*6的矩阵,每个元素随机从1,2,3三个数字中取,要求行或列不能存在连续三个相同的数字。经过10分钟得到的程序如下:
close all
clear
clc
while 1
matrix = randi([1,3],6,6)
flag = 0;
for m = 1:4
for n = 1:6
pro_vec = matrix(m:m+2,n);
if all(pro_vec == pro_vec(1))
flag = 1;
break;
end
end
if flag == 1
break;
end
end
if flag == 1
continue;
end
for m = 1:6
for n = 1:4
pro_vec = matrix(m,n:n+2);
if all(pro_vec == pro_vec(1))
flag = 1;
break;
end
end
if flag == 1
break
end
end
if flag == 0
break;
end
end
matrix
复制代码
运行得到满足条件的矩阵如下:
matrix =
3 1 1 3 1 1
1 1 2 2 3 1
3 2 3 1 2 3
2 3 2 2 1 3
3 1 2 2 3 1
1 1 3 3 1 2
复制代码
欢迎光临 52matlab技术网站,matlab教程,matlab安装教程,matlab下载 (http://www.52matlab.com/)
Powered by Discuz! X3.2