[Matlab] Przeszukiwanie macierzy

maxpvs
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 26 sty 2016, o 22:21
Płeć: Mężczyzna
Lokalizacja: qaz

[Matlab] Przeszukiwanie macierzy

Post autor: maxpvs »

Zbliża się sesja, a ja miałem awarię komputera i nie mam aktualnie dostępu do matlaba więc piszę do was z prośbą o pomoc w raczej prostym zadaniu(lecz nie do końca dla mnie).

Zadanie;
Dana jest macierz M. Napisz programy pozwalające wyszukać w macierzy M największy element i jego pozycję (nr. wiersza i kolumny). Do przeszukiwania macierzy M zastosuj:
1. tylko pętle for,
2. tylko pętle while,
3. pętle while i for,


Ja mam małe doświadczenie w pisaniu, 'bawiłbym się' samemu ale awaria komputera i pozostaje pisanie na kartce, a przy moim 'doświadczeniu' to bez sensu. Z góry dziękuje!
Ostatnio zmieniony 31 sty 2016, o 15:47 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[Matlab] Przeszukiwanie macierzy

Post autor: jarzabek89 »

To jest zadanie na max 10 linijek, proszę pokazać swoje przemyślenia.

PS. zamiast matlaba możesz użyć "mniejszego" oprogramowania octave.
maxpvs
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 26 sty 2016, o 22:21
Płeć: Mężczyzna
Lokalizacja: qaz

[Matlab] Przeszukiwanie macierzy

Post autor: maxpvs »

na telefonie raczej ciężko będzie

Kod: Zaznacz cały

A(1)=m
for i:length(A)
   if A(i)<m
      A(i)=m
      i=k
   end
end
disp ('MinEl',num2str(m),'poz',num2str(k))
tyle że, ma pokazać w którym wierszu i kolumnie, a na while nie mam pomysłu.
Ostatnio zmieniony 7 lut 2016, o 20:13 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[Matlab] Przeszukiwanie macierzy

Post autor: jarzabek89 »

Mówiąc krótko jest źle.
Po pierwsze m i 'i' nie jest nigdzie zadeklarowane
Błędy składniowe, więc do fora nawet nie dojdzie, nawet jak to poprawisz, to dalej będziemy mieć następujące błędy: k niezadeklarowane, do tego zmiana i jest błędem.
Raczej Ci chodziło o: to samo z tym:

Kod: Zaznacz cały

 A(i)=m
Ogólnie jakbyś to poprawił i zamiast:

Kod: Zaznacz cały

A(1)=m
napisał:

Kod: Zaznacz cały

m=A(1)
i zadeklarował macierz A, zmienił warunek if to by było ok.


To będzie działać dla macierzy jednowymiarowej, no ale od tego wyjdźmy.
maxpvs
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 26 sty 2016, o 22:21
Płeć: Mężczyzna
Lokalizacja: qaz

[Matlab] Przeszukiwanie macierzy

Post autor: maxpvs »

Kod: Zaznacz cały

m=A(1)
for i=1:length(A)
    if A(i)>m
        m=A(i)
        k=i
    end
end
disp('MaxEl',num2str(m),'poz',num2str(k))
dobra dzięki wielkie działa

próbowałem z while też działa:

Kod: Zaznacz cały

m=A(1)
i=length(A)
while 1<=i
    if A(i)>m;
        m=A(i);
        k=i;
    end
    i=i-1
end
disp ('MaxElem',num2str(m),'Poz',num2str(k))

tylko że przeszukuje po wierszach a co z kolumnami, length(A), próbowałem zastąpić size ale błędna składnia
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[Matlab] Przeszukiwanie macierzy

Post autor: jarzabek89 »

Pokaż jak kombinujesz to zrobić.
ODPOWIEDZ