求助matlab如何生成8行8列、8行16列、8行24列矩阵,满足如下要求 20C

1、矩阵第 i 行的元素满足:aij=a10+(j-1)*i 或者 aij=a10-(j-1)*i (即每一行相邻元素的间隔都为 i 或都为 -i);

2、矩阵的元素都为正整数;

3、不同列的元素严格不相等,不同行同列的元素可以相等。

求最小的正整数M,M是满足条件的矩阵中元素的最大值。

2个回答

根据下面改一下

可以用while循环语句的输入一个8*45的矩阵。实施代码:

clc,close all

n=8;i=1;
while i<=n

disp(['第',num2str(i),'行']);

a1=input('请输入第1列至5列的数据,输入格式[1 2 3 4 5]:');

if size(a1,2)<5,a1=input('数据不对,请重新输入第1列至5列的数据,输入格式[1 2 3 4 5]:'); end

a2=input('请输入第6列至10列的数据,输入格式[6 7 8 9 10]:');

if size(a2,2)<5,a2=input('数据不对,请重新输入第6列至10列的数据,输入格式[6 7 8 9 10]:'); end

a3=input('请输入第11列至15列的数据,输入格式[11 12 13 14 15]:');

if size(a3,2)<5,a3=input('数据不对,请重新输入第11列至15列的数据,输入格式[11 12 13 14 15]:'); end

a4=input('请输入第16列至20列的数据,输入格式[16 17 18 19 20]:');

if size(a4,2)<5,a4=input('数据不对,请重新输入第16列至20列的数据,输入格式[16 17 18 19 20]:'); end

a5=input('请输入第21列至25列的数据,输入格式[21 22 23 24 25]:');

if size(a5,2)<5,a5=input('数据不对,请重新输入第21列至25列的数据,输入格式[21 22 23 24 25]:'); end

a6=input('请输入第26列至30列的数据,输入格式[26 27 28 29 30]:');

if size(a6,2)<5,a6=input('数据不对,请重新输入第26列至30列的数据,输入格式[26 27 28 29 30]:'); end

a7=input('请输入第31列至35列的数据,输入格式[31 32 33 34 35]:');

if size(a7,2)<5,a7=input('数据不对,请重新输入第31列至35列的数据,输入格式[31 32 33 34 35]:'); end

a8=input('请输入第36列至40列的数据,输入格式[36 37 38 39 40]:');

if size(a8,2)<5,a8=input('数据不对,请重新输入第36列至40列的数据,输入格式[36 37 38 39 40]:'); end

a9=input('请输入第41列至45列的数据,输入格式[41 42 43 44 45]:');

if size(a9,2)<5,a9=input('数据不对,请重新输入第41列至45列的数据,输入格式[41 42 43 44 45]:'); end

A(i,:)=[a1 a2 a3 a4 a5 a6 a7 a8 a9];

i=i+1;
if i==n+1

A

return

end

end

weixin_38284353
weixin_38284353 你好,我没太看懂你这个什么意思,这个还是要自己输入?
一年多之前 回复

你好,我没太看懂你这个什么意思,这个还是要自己输入?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问