形成矩阵时的错误,MATLAB

时间:2013-01-22 22:47:35

标签: matlab matrix

我正在尝试通过a获得矩阵b。但是我收到以下代码的错误。 错误发生在该行

NV(b,:)=(a;b);    

错误是:

  

“,”或“缺失”的语法无效,]
  并在“)”处解析错误

这是代码:

n=2;
g1= 1:1:10;
g=10.^(g1/10); %SNR

for a= 0:g %diff SNR
for b= 1:n %DIFF USERS
    NV(b,:)=(a;b); % NOISE VAR, MATRIX FOR DIFF SNR AND DIFF USERS.
end
 end

可能导致这些错误的原因以及如何解决? 感谢

1 个答案:

答案 0 :(得分:1)

在尝试访问第二个矩阵维度的所有元素之前,未定义

NV。这基本上是说“设置所有未知数量” - 它可能是一个或它可能是无限的。这不是一个良好的声明。

该行的其余部分也有点奇怪而且语法无效,因为它看起来像是在尝试创建一个数组数组。

我并不确切地说你正在做什么(NV的第二个维度应该有多大以及我对“NV(b,:))= [a; b];”的修正是什么你打算),但这个语法编译/运行,希望能让你开始朝着正确的方向前进。

n=2;
g1= 1:1:10;
g=10.^(g1/10); %SNR

NV = zeros(n,n); % Create an empty n-by-n matrix
                 % Note: Defining the final matrix size outside of a loop
                 %       also improves performance

for a= 0:g %diff SNR
    for b= 1:n %DIFF USERS
        NV(b,:)=[a;b]; % NOISE VAR, MATRIX FOR DIFF SNR AND DIFF USERS.
    end
end