1

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

これらのエラーの原因と解決方法を教えてください。ありがとう

4

1 に答える 1

1

2 番目の行列次元のすべての要素にアクセスしようとする前に、NV が定義されていません。それは本質的に「未知の量のすべてを設定する」と言っています-それは1つかもしれませんし、無限かもしれません. これは整形式のステートメントではありません。

その行の残りの部分も少し奇妙で、配列の配列を作成しようとしているように見えるため、有効な構文ではありません。

私はあなたが何をしているのか正確には確信が持てません (NV の 2 番目の次元がどのくらいの大きさであるべきか、および "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
于 2013-01-22T23:05:34.820 に答える