Как заполнить матрицу переменными числами? - PullRequest
0 голосов
/ 11 января 2019

Мне нужно заполнить матрицу r, где r=r(z), а ri - это константа. Но с этим кодом я получаю только первый ряд, где r=-0.7:0.7.

z=-1:0.001:0;
ri=0.7;
R=ri-z*(ri-1);
for z=-1:0.001:0;
r=(linspace(-(ri-z*(ri-1)),ri-z*(ri-1),1001))
end

meshgrid также не работает, потому что он дает постоянные значения в конце строк

Моя полная матрица должна быть в этой форме, или транспонировать это:

-0.7......  0.7

0.8  ...    0.8
.            .
.            .
.            .
0 .9 ...     0.9
.            .
.            .
.            .
1     ...    1

или

0   ......  0.7
0    ...    0.8
.            .
.            .
.            .
0  ...      0.9
.            .
.            .
.            .
0     ...    1

1 Ответ

0 голосов
/ 11 января 2019

Как сказал @Ander Biguri, проблема в том, что каждый проход через цикл устанавливает r и перезаписывает все, что было с предыдущего прохода. В конце цикла вы получите последний ряд (не первый). Предварительно выделить r

r = zeros(numel(z), 1001);

Затем цикл как

for k=1:numel(z)
   R=ri-z(k)*(ri-1); 
   r(k,:) = linspace(-R, R, 1001);% <-- Different row each pass
end

Надеюсь, это поможет,

JAC

...