如果我有一个矩阵,如果我有一个矩阵,如果我调用单维索引,结果将是一个数组.我不知道为什么在Matlab中如果你采用矩阵的单个索引,你会得到一个元素,这是愚蠢的.
无论如何在C:
mat[4][4];
Run Code Online (Sandbox Code Playgroud)
mat [0]是一个数组.
在Matlab中:
mat=[1 2; 3 4];
Run Code Online (Sandbox Code Playgroud)
如何获取矩阵的第一行?mat(1)是1,而不是[1 2].
编辑:还有一个问题,我有这个功能的问题:
function str= split(string, del)
index=1;
found=0;
str=['' ; ''];
for i=1:length(string)
if string(i)==del
found=1;
index=1;
elseif found==1
str(2,index)=string(i);
index=index+1;
else
str(1,index)=string(i);
index=index+1;
end
end
end
Run Code Online (Sandbox Code Playgroud)
这有时返回矩阵,有时返回数组.
例如,如果我使用split('FF','.')我得到'FF'作为结果,但如果我想返回矩阵怎么办?我甚至无法选择矩阵的维度,在这种情况下,弱类型语言是一个很大的优势.
你必须说出你想要的列.:代表维度中的所有索引,因此取第一行
mat(1,:)
Run Code Online (Sandbox Code Playgroud)
这不是愚蠢的,但很有用.如果您只处理一个只有一个索引的矩阵,它会隐式转换为向量.这使您可以选择使用线性索引(请参阅sub2ind).
这将提取第二行
vector = mat(2,:)
Run Code Online (Sandbox Code Playgroud)
这将提取第二列
vector = mat(:,2)
Run Code Online (Sandbox Code Playgroud)
您可以使用
vector = mat(end,:)
Run Code Online (Sandbox Code Playgroud)
提取最后一行
希望这对你有所帮助
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |