一个matlab语句,

问题描述:

一个matlab语句,
K = 128; % SIZE OF FFT
N = 8; % NUMBER OF SELECTIONS
QPSK_Set = [1 -1 j -j];
Phase_Set = [1 -1];
MAX_SYMBOLS = 1e4;
PAPR_Orignal = zeros(1,MAX_SYMBOLS);%一行,10000列
PAPR_SLM = zeros(3,MAX_SYMBOLS);%三行,10000列
X = zeros(N,K);
Index = zeros(N,K);
for nSymbol=1:MAX_SYMBOLS
Index(1,:) = randint(1,K,length(QPSK_Set))+1;%一行,128列.数的取值为1~4 Index矩阵的第一行
Index(2:N,:) = randint(N-1,K,length(Phase_Set))+1;%Index矩阵的第二行到第N行
① X(1,:) = QPSK_Set(Index(1,:)); % Orignal Frequency domain signal 原始频域信号
Phase_Rot = Phase_Set(Index(2:N,:));
X(2:N,:) = repmat(X(1,:),N-1,1).*Phase_Rot;
补充一个问题吧,如果两个问题都回答的话再加10分:
max的用法,主要是这个C=max(A,[ ],dim),dim代表维数,
我试了一下,令A=magic(5),则:max(A,[],1)
ans =
23 24 25 21 22
max(A,[],2)
ans =
24
23
22
21
25
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
1 X(1,:) = QPSK_Set(Index(1,:)); %%X(1,:)表示X的第一行,QPSK_Set应该是函数,Index(1,:)表示Index的第一行,经过处理,然后赋给X的第一行.
对应的X(:,1)表示X的第一列.X(:,2)第二列,以此类推.
2 >> a=magic(5)
a =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> max(a,[],1)%%max是按列求最大值,该写法相当于求每列的最大值
ans =
23 24 25 21 22
>> max(a,[],2)%%求取每行的最大值
ans =
24
23
22
21
25
再问: 非常感谢你的回答!但有点不明白。①中QPSK_Set = [1 -1 j -j];那么 QPSK_Set(Index(1,:)); 是表示什么呢?把Index的第一行赋值给QPSK_Set 吗? ②中max(A,[ ],dim),dim=1时求的是列,dim=2求的是行吗?那会不会出现dim>2的情况呢?这时候表示的是什么?
再答: 1 假设index的第一行为index(1,:)=[1 4 3 1 2 4 3 1],index中的元素是1-4之间的整数,一行有8个元素;那么QPSK_Set(Index(1,:))表示QPSK_Set(Index(1,1))=QPSK_Set(1), 即X(1,1) = QPSK_Set(1); X(1,2) = QPSK_Set(Index(1,2))=QPSK_Set(4),下面依次类推。 2 dim是维数,矩阵的最大维数是2维,不会出现3维。RGB即彩色图像,是3维,灰度图像都是2维。
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么