Inconsistent row/column dimensions - Scilab

Mathematica, Matlab, Statistica, LaTeX i wszelkiego rodzaju oprogramowanie przydatne matematykowi w pracy. Miejsca w sieci poświęcone zagadnieniu.
Tomasz22
Użytkownik
Użytkownik
Posty: 66
Rejestracja: 23 mar 2022, o 22:52
Płeć: Mężczyzna
wiek: 22

Inconsistent row/column dimensions - Scilab

Post autor: Tomasz22 »

Czy ktoś wie jak naprawić ten błąd skoro zamienienie * i ^ na .* i .^ nic nie daje??? Jak zwiększam albo zmniejszam ilość iteracji, to błąd nadal występuje...
coś.JPG
janusz47
Użytkownik
Użytkownik
Posty: 7917
Rejestracja: 18 mar 2009, o 16:24
Płeć: Mężczyzna
Podziękował: 30 razy
Pomógł: 1671 razy

Re: Inconsistent row/column dimensions - Scilab

Post autor: janusz47 »

1.
\(\displaystyle{ t }\) w linspace nie może być równe \(\displaystyle{ 0 }\), bo wtedy \(\displaystyle{ 1/t = 1/0 }\) NaN.

2.
dodajemy kropkę w argumencie funkcji \(\displaystyle{ \sin(1./t) }\)

Na przykład

Kod: Zaznacz cały

t = linspace( 0.01, 2*pi, 10)
y = abs(t).^3.*sin(1./t)
plot(t,y)
Ostatnio zmieniony 13 mar 2023, o 23:09 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Tomasz22
Użytkownik
Użytkownik
Posty: 66
Rejestracja: 23 mar 2022, o 22:52
Płeć: Mężczyzna
wiek: 22

Re: Inconsistent row/column dimensions - Scilab

Post autor: Tomasz22 »

janusz47 pisze: 13 mar 2023, o 21:58 1.
\(\displaystyle{ t }\) w linspace nie może być równe \(\displaystyle{ 0 }\), bo wtedy \(\displaystyle{ 1/t = 1/0 }\) NaN.

2.
dodajemy kropkę w argumencie funkcji \(\displaystyle{ \sin(1./t) }\)

Na przykład

Kod: Zaznacz cały

t = linspace( 0.01, 2*pi, 10)
y = abs(t).^3.*sin(1./t)
plot(t,y)
No okej, to ile ma wynosić minimalne \(\displaystyle{ t}\) skoro chcę, aby obejmowało mi też otoczenie zera? Podobno programy typu software właśnie z wyrażeniami typu \(\displaystyle{ 1/0}\) sobie jakoś radzą, najczęściej numerycznie...

Dodano po 2 godzinach 22 minutach 15 sekundach:
Generalnie chodzi o to, aby uzyskać mniej więcej taki efekt.
coś.JPG
Screenshot_20230314_132007_com.google.android.apps.docs_edit_1732451337463247.jpg
A na razie wykres wygląda bardziej jak \(\displaystyle{ t^3}\)...
Ostatnio zmieniony 14 mar 2023, o 13:54 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
janusz47
Użytkownik
Użytkownik
Posty: 7917
Rejestracja: 18 mar 2009, o 16:24
Płeć: Mężczyzna
Podziękował: 30 razy
Pomógł: 1671 razy

Re: Inconsistent row/column dimensions - Scilab

Post autor: janusz47 »

Bierzemy wartość bliską zeru na przykład \(\displaystyle{ 0.0000000001.}\)
Tomasz22
Użytkownik
Użytkownik
Posty: 66
Rejestracja: 23 mar 2022, o 22:52
Płeć: Mężczyzna
wiek: 22

Re: Inconsistent row/column dimensions - Scilab

Post autor: Tomasz22 »

janusz47 pisze: 13 mar 2023, o 21:58 1.
\(\displaystyle{ t }\) w linspace nie może być równe \(\displaystyle{ 0 }\), bo wtedy \(\displaystyle{ 1/t = 1/0 }\) NaN.

2.
dodajemy kropkę w argumencie funkcji \(\displaystyle{ \sin(1./t) }\)

Na przykład

Kod: Zaznacz cały

t = linspace( 0.01, 2*pi, 10)
y = abs(t).^3.*sin(1./t)
plot(t,y)
Byłem u prowadzącego i okazało się, że problem nie tkwił w zerze (dla przedziału \(\displaystyle{ (0,\frac{1}{3})}\) normalnie się rysowało) ani w zbyt wysokim/za niskim punkcie startowym. Wystarczyło dość mocno zwiększyć ilość iteracji (do 12 000) i bardzo zawęzić przedział (od \(\displaystyle{ -\frac{1}{3}}\) do \(\displaystyle{ \frac{1}{3}}\)) :)
ODPOWIEDZ