例如,我可以创建一个zeros(100).但我希望第58行和第59列的输入为1.但是我需要临时变量和多行才能执行此操作.
一个.让这个矩阵成为M.我怎么能在一行中做到这一点?M = ....?
PS
湾 更好的是,有时我想要零矩阵的两个或更多条目为1.再次,我该怎么做?
如果我能做到.在一行中,当然我可以添加它们.但是有没有特殊的功能来填充零矩阵条目1?
首先,请记住,单行表达式并不总是最有效的.阅读/理解也可能更难.
一种方法是使用稀疏矩阵
以下示例创建一个10x10零矩阵,其中包含[5,2](第5行,第2列)和[7 5]
full(sparse([5 7],[2 5],1,10,10))
Run Code Online (Sandbox Code Playgroud)
使用full它从一个稀疏矩阵转换为"满"一个
另一种(更快但可能不那么直观)替代方案是使用 accumarray
accumarray([5 2;7 5],1,[10,10])
Run Code Online (Sandbox Code Playgroud)
请记住,上面的索引值直接在表达式中使用,以获得一行,更好的选择是单独创建它们
points = [5 2; 7 5]
Run Code Online (Sandbox Code Playgroud)
也许,
rowIdx = [5 7];
colIdx = [2 5];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |