[Matlab] Sprawdzenie wprowadzonej liczby

0

Witam,

jak sprawdzić w Matlabie, czy wprowadzona wartość liczby jest liczbą całkowitą? Mam uchronić program wprowadzeniem liczby innej niż całkowita, z tym sobię poradzę za pomocą pętli 'while', natomiast nie wiem jak sprawdzić czy ta liczba jest całkowita. I nie chodzi mi o zaokrąglenie jej w górę/dół/do zera itp. Chyba że nie ma takiej funkcji?

pozdrawiam,

0

O dzięki, tylko teraz mam kolejny problem, jak zrobić, aby while cały czas sprawdzało 2 warunki? Chodzi mi o to, aby liczba była wieksza od 0 i całkowita, napisałem taki kod:

n=input('Podaj liczbę n: ');
while n<=0 %Zabezpieczenie przed wprowadzeniem wartosci ujemnej
    disp('Wprowadź dodatnią wartość');
    n=input('Podaj liczbę n: ');
end
n1=round(n);
while n~=n1 %Zabezpieczenie przed wproawdzeniem liczby niecałkowitej
    disp('Wprowadź liczbę całkowitą');
    n=input('Podaj liczbę n: ');
    n1=round(n);
end 

Jesli wprowadze liczbę 0, pierwsza petla kaze mi powtorzyc, wpisuję 2.5, pętla pierwsza przechodzi, druga kaze mi zmienić, wpisuję ponownie 0 no i tu jest problem... Program idzie dalej, a jak zrobic aby sprawdzał cały czas te 2 warunki? Zagniezdzic jakos petle w petli? nie mam pomysłu.

pzdr,

0

Nie możesz w jednym while tego zrobić? Daj nieskończony while. Przyjmujesz liczbę, sprawdzasz oba warunki i robisz break kiedy oba są spełnione. Trochę brzydkie rozwiązanie ale zadziała.

0

Kod wyglada teraz tak, i działa:

while 1
    if n>0&n==n1
        break;
    else
    disp('Liczba musi być dodatnia i całkowita');
    n=input('Podaj liczbę n: ');
    n1=round(n);
    end
end

Mam tylko pytanie na przyszłość, jeśli chcę zrobić nieskończoną pętle while to za warunek while zawsze wstawiam wartość 1, tak?

Dziękuje za pomoc ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1