关于MATLAB索引。在帮助文档中看到的一个例子。怎么看也看不明白。求高手帮助理解。
Advanced Examples Using Linear Indexing
Example 1: Shifting the Rows of a Matrix
A MATLAB user recently posed this question in the comp.soft-sys.matlab newsgroup: If I want to shift the rows of an m-by-n matrix A by k places, I use A(:,[n-k+1:n 1:n-k]). But what if k is a function of the row number? That is, what if k is a vector of length m? Is there a quick and easy way to do this?
Regular newsgroup contributor Peter Acklam posted this solution that uses sub2ind and linear indexing:
% index vectors for rows and columns
p = 1:m;
q = 1:n;
% index matrices for rows and columns
[P, Q] = ndgrid(p, q);
% create a matrix with the shift values
K = repmat(k(:), [1 n]);
% update the matrix with the column indexes
Q = 1 + mod(Q+K, n);
% create matrix of linear indexes
ind = sub2ind([m n], P, Q);
% finally, create the output matrix
B = A(ind);
Matlab索引示例
答案:2 悬赏:0 手机版
解决时间 2021-03-05 16:31
- 提问者网友:不爱我么
- 2021-03-05 02:30
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-03-05 03:30
简要的说,matlab索引从1开始,线性索引,你知道这个就够了。matlab几乎所有运算都以矩阵为元素参与运算。矩阵x的 第一行第一列的元素可以表示为x(1,1)
矩阵x的 第一行可以表示为x(1,:);
矩阵x的第一列到第三列可以表示为x(:,1:3)
不知道明白没
矩阵x的 第一行可以表示为x(1,:);
矩阵x的第一列到第三列可以表示为x(:,1:3)
不知道明白没
全部回答
- 1楼网友:人间朝暮
- 2021-03-05 03:37
也就是说y一共有91个数,plot(y)时,对应横坐标为y的序号,即索引号。
你可以弄个简单的程序试试就知道了
x=2:45;plot(x)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯