MATLAB, kwadrat przechodzący w biel z czerni

Wiem jak “namalować” linię poziomą przechodzącą z czarnego na biały

A=[0]; figure; imshow(A);

Wiem, że dla pionowej linii wystarczy użyć macierzy transponowanej… (…ogólnie to mało z MATLABa wiem; materiały na necie nie są dla max. początkujących) A teraz jak stworzyć czarno-biały (przechodzący podobnie jak w temacie) kwadrat ?? Może być rozmiaru 100x100. Ale w jak najkrótszym kodzie (wiem jak to zrobić za pomocą kilkudziesięciu powielonych linii, ale taki sposób jest beznadziejny). I jeszcze inaczej - taka mała podstawa na zakończenie -

A=[0];

Jak można zoptymalizować ten kod (aby nadal były 4 poziome linie)

i jak nadać tym liniom jakąś określoną długość ??

Teraz każda ma długość 100px (wiadomo dlaczego), ale gdybym chciał np. 10px…

p.s. proszę zostawić dla siebie swoje (…) domysły typu bzdury o politechnikach, pracach domowych i ogólnie nie usuwać mojego posta. dziękuję.

hint: popatrz opis funkcji “repmat”, przynajmniej jeśli chodzi o powielanie vektorów/macierzy.

kwadrat:

a = repmat([0],101,1)

Ale od razy pytanie: jaki jest tego cel, bo jak chcesz rysować linie, to imho raczej nie tędy droga (nie przez imshow i wykorzystanie

image), chyba że chcesz się bawić w tworzenie programu graficznego i chcesz koniecznie mieć macierz z obrazkiem…

imshow chcę tylko używać aby zobaczyć jak wygląda obrazek (macierz / wektor / wektory).

a jeśli chciałbym zrobić aby kwadrat przechodził z białego na czarny (albo odwrotnie), ALE

zmiana/przejście koloru nie następowałaby w pionie/poziomie lecz po przekątnej. To co wtedy…?

…to wtedy tworzysz macierz trójkątną. Zawsze to kwestia odpowiedniego przygotowania macierzy.

for i=0:10; A(i+1,:) = [0]+i; end; A=A/max(A(;[/code]

To niezbyt efektywny kod który tworzy macierz przekątną o wielkości 11x11.