Участок от Mathematica до Matlab - PullRequest
       11

Участок от Mathematica до Matlab

1 голос
/ 18 февраля 2011

У меня есть эта проблема в Mathematica:

  L=16;
  f[x_]:=-x;
  mlat = Table[2 RandomInteger[] - 1, {L}, {L}];
  ArrayPlot[mlat, ColorFunction -> (If[# == 1, White, Black] &), Mesh -> All]

и я сделал это в Matlab:

 L=16;
 f=@ (x) -x;
 mlat=2*randint(L,L)-1;
    if mlat(:,:)==1   
      plot(mlat,'ws')
      hold on
    else
        plot(mlat,'ks')
        hold off
        grid on
    end

но я не могу получить график.

1 Ответ

2 голосов
/ 18 февраля 2011

Сначала вы хотите создать массив только с единицами и нулями, что вы делаете, используя randi

L = 16;
mlat = 2*(randi([0,1],L,L)-0.5);

Затем вы можете отобразить это как изображение (мне нравится открывать новую фигуру для каждого графика)

figure
imshow(mlat,[]) %# [] scales to min...max

Чтобы увеличить изображение, установите размер осей равным 90% от окна рисунка

set(gca,'Units','normalized','Position',[0.05 0.05 0.9 0.9],'visible','on')

enter image description here

Обратите внимание, что метка осей соответствует индексу матричных элементов, поэтому (1,1) вверху слева.

...