2012-01-12 10 views
2

私はX行Y列の行列を作成しました。行列の各要素に、長方形の行列を生成するX(長さ)とY(幅)を乗算します(これは、行列の長さと幅全体に点をプロットするために行われます)。 しかし、forループから生成されたすべての値をyとxに格納することはできません。値を単一の変数に格納する方法

1)親切に下記のプログラム

2に単一の変数に値を格納する方法を教えて)そして、私は操作が以下で実行された後に生成される2つの不均等な大きさをプロットすることはできませんしていてくださいプログラム。

X=input('enter the dimension of the matrix:'); 
Y=input('enter the dimension of the matrix:');  

a=rand(X,Y) 

for i=1:X 
    x=a(i,:) 
    px=x.*X 
end 

for j=1:Y 
    y=a(:,j) 
    py=y.*Y 
end 

答えて

1

ランダムな値を持つ行列を得るために使用できるMATLAB関数がいくつかあります。
randi(maxi, X, Y)は、ここでより便利なようです。 forループの
取得に乗っ:

X=input('enter the dimension of the matrix:'); 
Y=input('enter the dimension of the matrix:');  
maxi = 100; 
a=randi(maxi,X,Y); 

、あなたはそれを行う視覚化したい場合:

imagesc(a); 
+0

を行うだろう)のポイントが集中している機能0と1の間にあるので、長方形全体に点をプロットするために、長方形の長さと幅を乗算しています。しかし、主な問題は、誤差を与える乗算の後に行列のすべての値をプロットすることです。 –

+0

あなたは 'randi(maxi、x、y)'を使うことができます – Ali

+0

2つの不等ベクトルをプロットする方法を教えてください。 –

1

の各反復あなたのループは、x、PX、Y、およびPYとを上書きする "ため"新しい値はすべての古い値を削除します。正直言って、私はforループを気にしないだろう。何が本当に必要なことはpxとpyのであると仮定すると、私はちょうど私が私がランドを(使用する場合のポイントはrandomly.Butを表示している長方形のマトリックスを作成したいと思いますthis-

px = a * X; 
py = a * Y; 
+0

Thanks jim !!!!!! –

関連する問題