MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 637|回复: 27|关注: 0

[已解决] 如何用循环输入下面的方阵

[复制链接]

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3----0.8(从0.3到0.8)
0.8 0.2------------------------------------------------------------0.7
0.7 0.8 0.2 ------------------------------------------------------0.6
0.6 0.7 0.8 0.2 -------------------------------------------------0.5
0.5 0.6 0.7 0.8 0.2---------------------------------------------0.4
0.4 0.5 0.6 0.7 0.8 0.2 ---------------------------------------0.3
0.3 0.4 0.5 0.6 0.7 0.8 ---------------------------------------0.2
但该矩阵(61*61)需要满足如下条件:

从第二行开始:每行的0.8-0.2间都是9个0,其余的数字一次按顺序写
请问这个程序用matlab如何实现

论坛优秀回答者

7

主题

1145

帖子

268

最佳答案
  • 关注者: 40
发表于 2017-1-10 22:50:06 | 显示全部楼层
为甚么是61*61矩阵?虚线是代表0?
多看帮助文档
说明你的matlab版本

论坛优秀回答者

权威

5511 麦片

财富积分



5

主题

6869

帖子

1263

最佳答案
  • 关注者: 272
发表于 2017-1-11 07:24:55 | 显示全部楼层
本帖最后由 jingzhaos 于 2017-1-11 07:31 编辑

1. 第一行0.8后面没有9个0吗?
2. 后面的行,是0.3、0.4、0.5这样,中间没有值吗?如果这样,你的61×61如何得来?这几行已经完了。

3. 最后一行0.8~0.2之间的---是9个0,那前几行0.8~0.2之间没有---,也是9个0?

这问题问的不清不楚

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 08:05:20 | 显示全部楼层
深蓝孩童 发表于 2017-1-10 22:50
为甚么是61*61矩阵?虚线是代表0?

虚线代表以此递推,比如第一行:0.3 0.31 0.32 0.33,一直到0.8
第二行:0.8 0 0 0 0 0 0 0 0 0 0.2 0.21 0.22 ,一直到0.6
只有0.8和0.2之间是0

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 08:09:24 | 显示全部楼层
jingzhaos 发表于 2017-1-11 07:24
1. 第一行0.8后面没有9个0吗?
2. 后面的行,是0.3、0.4、0.5这样,中间没有值吗?如果这样,你的61×61如 ...

1.第一行0.8后面没有0
2.中间有值,只是限于篇幅,我地推的写了。
例如第2行:0.8 0 0 0 0 0 0 0 0 0 0.2 0.21 0.22 0.23,一直到0.7
第三行:0.7 0.71,一直到0.8;0.8后面9个0, 然后是0.2 0.21 0.22,一直到0.7
等等

论坛优秀回答者

权威

5511 麦片

财富积分



5

主题

6869

帖子

1263

最佳答案
  • 关注者: 272
发表于 2017-1-11 08:21:34 | 显示全部楼层
本帖最后由 jingzhaos 于 2017-1-11 08:28 编辑

你这样还是就这几行就完了,第二行0.8开始,第三行0.7开始,第四行0.6开始。。。。第7行,0.3开始。完了,没有下面的行了。

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 08:46:47 | 显示全部楼层
jingzhaos 发表于 2017-1-11 08:21
你这样还是就这几行就完了,第二行0.8开始,第三行0.7开始,第四行0.6开始。。。。第7行,0.3开始。完了, ...

对对,是不好表达,那我换一个吧:
a1=0.2,a2=0.3,a3=0.4,a4=0.5,a5=0.6,a6=0.7,a7=0.8
下面的矩阵如何用循环语言输出
a1 a2 a3 a4 a5 a6 a7
a7 a1 a2 a3 a4 a5 a6
a6 a7 a1 a2 a3 a4 a5
a5 a6 a7 a1 a2 a3 a4
a4 a5 a6 a7 a1 a2 a3
a3 a4 a5 a6 a7 a1 a2
a2 a3 a4 a5 a6 a7 a1

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 08:47:05 | 显示全部楼层
jingzhaos 发表于 2017-1-11 08:21
你这样还是就这几行就完了,第二行0.8开始,第三行0.7开始,第四行0.6开始。。。。第7行,0.3开始。完了, ...

对对,是不好表达,那我换一个吧:
a1=0.2,a2=0.3,a3=0.4,a4=0.5,a5=0.6,a6=0.7,a7=0.8
下面的矩阵如何用循环语言输出
a1 a2 a3 a4 a5 a6 a7
a7 a1 a2 a3 a4 a5 a6
a6 a7 a1 a2 a3 a4 a5
a5 a6 a7 a1 a2 a3 a4
a4 a5 a6 a7 a1 a2 a3
a3 a4 a5 a6 a7 a1 a2
a2 a3 a4 a5 a6 a7 a1

新手

24 麦片

财富积分


050


50

主题

129

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 08:48:14 | 显示全部楼层
深蓝孩童 发表于 2017-1-10 22:50
为甚么是61*61矩阵?虚线是代表0?

这个有问题,我拒了一个简单一点的:如下
a1=0.2,a2=0.3,a3=0.4,a4=0.5,a5=0.6,a6=0.7,a7=0.8
下面的矩阵如何用循环语言输出
a1 a2 a3 a4 a5 a6 a7
a7 a1 a2 a3 a4 a5 a6
a6 a7 a1 a2 a3 a4 a5
a5 a6 a7 a1 a2 a3 a4
a4 a5 a6 a7 a1 a2 a3
a3 a4 a5 a6 a7 a1 a2
a2 a3 a4 a5 a6 a7 a1

论坛优秀回答者

7

主题

1145

帖子

268

最佳答案
  • 关注者: 40
发表于 2017-1-11 08:51:27 | 显示全部楼层
我写了一个符合你原来要求的,8*61的
  1. a = 0.2:0.01:0.8;
  2. m = repmat(a,7,1);
  3. for k = 2:7
  4.     n = circshift(m(k,:),(k-1)*10,2);
  5.     m(k,:) = [(n(end)+0.1):0.01:0.8,zeros(1,9),n(((k-1)*10+1):end)];
  6. end
复制代码
多看帮助文档
说明你的matlab版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表