我创建了一个X-by-Y矩阵。将矩阵的每个元素与X(长度)和Y(宽度)相乘,生成矩形矩阵(这样做是为了绘制整个矩阵长度和宽度的点)。 但是我无法将for循环生成的所有值存储到y和x中。
1)请告诉我如何将值存储到以下程序中的单个变量
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
答案 0 :(得分: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);
答案 1 :(得分:1)
“for”循环的每次迭代都会用新值覆盖x,px,y和py,因此它会删除所有旧值。说实话,我甚至不打扰for循环。假设你真正需要的是px和py,我会这样做 -
px = a * X;
py = a * Y;