2012-01-12 4 views
2

Я создал матрицу 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 

ответ

1

Существует множество функций MATLAB, которые можно использовать для получения матрицы со случайными значениями.
randi(maxi, X, Y) выглядит более полезным здесь.
получить поездку из для петель:

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

Я хотел бы создать прямоугольную матрицу, где точки отображаются randomly.But, когда я использую рандов() функцию точки сосредоточены между 0 и 1, поэтому для построения точек по всему прямоугольнику я умножаюсь на длину и ширину прямоугольника. Но главная проблема заключается в том, что я хочу построить все значения матрицы после умножения, что дает ошибку –

+0

Вы можете использовать 'randi (maxi, x, y)' – Ali

+0

Не могли бы вы рассказать мне, как построить два неравных вектора? –

1

каждой итерация «для» петля перезаписывает й, точки, у и р с новые значения, поэтому он оставляет все старые значения. Честно говоря, я бы даже не потрудился с петлями. Предполагая, что вам действительно нужно, рх и ру, я бы просто сделать this-

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

Спасибо, Джим !!!!!! –

Смежные вопросы