Strona 1 z 1

Inconsistent row/column dimensions - Scilab

: 13 mar 2023, o 14:26
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

Re: Inconsistent row/column dimensions - Scilab

: 13 mar 2023, o 21:58
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)

Re: Inconsistent row/column dimensions - Scilab

: 14 mar 2023, o 11:06
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}\)...

Re: Inconsistent row/column dimensions - Scilab

: 14 mar 2023, o 19:26
autor: janusz47
Bierzemy wartość bliską zeru na przykład \(\displaystyle{ 0.0000000001.}\)

Re: Inconsistent row/column dimensions - Scilab

: 15 mar 2023, o 12:07
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}}\)) :)