matrix - 如何在非方阵内获取方阵的条目
问题描述
我正在尝试打印一些任意形状的矩形矩阵的最大方形子矩阵的最后一个元素。对于这项任务,我有几个提示:
将变量设置
y
为 的最后一个对角线条目A
。由于A
可能不是正方形,因此您需要确定最后一个对角线条目A
是$a_{mm}$
还是$a_{nn}$
。将变量设置为包含(如果小于)
B
的前 m 列或其他情况的前行的(方形)矩阵。A
m
n
n
A
我尝试过对m
(列)和n
(行)进行不同的组合,例如A(1:m/n,:)
, A(:,1:m/n)
.
我还尝试使用诸如X(m/n:m/,1/m/n:m/n)
.
我对如何打印最后一个正方形条目有点困惑,因为所有这些组合要么导致错误(某些行大于列因此无效,反之亦然),要么打印出矩阵的最后一个值,而不是一个方阵。
预期的结果应该给我一个非方阵的方阵中的最后一个值。
例如,如果一个矩阵是
$[2,3,4,6;0,1,-1,-10]$
我希望输出为1
, 但我得到-10
, 或错误。
解决方案
这里有几种方法:
A = [2,3,4,6;0,1,-1,-10]; % Define A
[m,n] = size(A); % Get the size of A
B = A ( 1:min(n,m), 1:min(n,m) ); % Get the sub array B
d = diag(B); % Obtain the diagonal of B
lastEntry = d(end); % Obtain the last entry of the diagonal
在 MATLAB 中,以下内容也有效(跳过 的创建B
):
A = [2,3,4,6;0,1,-1,-10]; % Define A
d = diag(A); % Obtain the diagonal of A
lastEntry = d(end); % Obtain the last entry of the diagonal
或这个:
A = [2,3,4,6;0,1,-1,-10]; % Define A
[m,n] = size(A); % Get the size of A
lastEntry = A ( min(n,m), min(n,m) ); % Access the relevant element
推荐阅读
- google-cloud-platform - 如何每天在特定时间安排停止顶点(ai平台)笔记本?
- node.js - 我想要用户获得的分数
- ios - 如何找到一个时区的所有历史偏移转换日期?
- bash - 在 bash 脚本中使用不同的文件扩展名进行循环
- javascript - .$ 在 javascript 中是什么意思
- python - 如何将过滤器应用于 Python 脚本以下载特定的电子邮件附件
- c# - 创建多个实例时,用户控件中未触发单击事件
- windows - 无法访问 Jfrog UI - jfrog-artifactory-oss-7.21.5
- c# - 如何断言构造函数中抛出的异常?
- swift - 如何在swift中存储带有约束的序列变量