查看: 4172|回复: 2|关注: 0

[已解决] Matlab 对角线元素赋值

[复制链接]

新手

9 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
a(1:7:end)=3;%对角线元素赋值为3
自己动手操作了,确实是对角线元素赋值为3,但是不大理解这行代码为什么可以实现对角线元素的赋值,求解

入门

90 麦片

财富积分


50500


2

主题

40

帖子

11

最佳答案
发表于 2018-2-5 15:45:55 | 显示全部楼层 |此回复为最佳答案
本帖最后由 wzq203477 于 2018-2-5 15:47 编辑

如果没猜错的话,你的矩阵a是一个6*6的矩阵,如下
  1. >> a = zeros(6);
  2. >> a(1:7:end)=3
  3. a =
  4.      3     0     0     0     0     0
  5.      0     3     0     0     0     0
  6.      0     0     3     0     0     0
  7.      0     0     0     3     0     0
  8.      0     0     0     0     3     0
  9.      0     0     0     0     0     3
复制代码

matlab的矩阵有两种索引方式,即单索引和双索引。单索引方式按列排序,a(k)为第k个数,双索引方式按(行、列)索引,如第六行第一列为a(6)或a(6,1)。按照单索引方式, 1:7:end对应的就是对角线的位置。建议认真看一下基础知识关于低维数组的寻址和搜索方面的内容。

#如有帮助,请采纳和支持#

新手

9 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2018-2-6 10:51:18 | 显示全部楼层
wzq203477 发表于 2018-2-5 15:45
如果没猜错的话,你的矩阵a是一个6*6的矩阵,如下

matlab的矩阵有两种索引方式,即单索引和双索引。单索引 ...

谢谢您的回复和建议:handshake
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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