Wpis z mikrobloga

Koledzy i Koleżanki z #matlab trochę może #matematyka i #fizyka

wyrzuca mi w matlabie błąd jak niżej, jak zrobię to dla stałej wartości t wszystko jest ok, a muszę zrobić plot, jakieś pomysły?
Error using ^ (line 51)
Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is
a scalar. To perform elementwise matrix powers, use '.^'.

Error in Untitled (line 6)
u=(1000/kb)*(((t/ta1)^(nb))/(1+(t/ta1)^(nb)))*exp((-t/ta2));

kod:
ta1=0.0000035;
ta2=0.000051;
nb=1.8;
kb=exp((-ta1/ta2)*(-nb*ta2/ta1)^(1/nb));
t =0.0000000001:0.00000001 : 0.0001;
u=(1000/kb)*(((t/ta1)^(nb))/(1+(t/ta1)^(nb)))*exp((-t/ta2));

plot(t,abs(u));
  • 19
@kolnay1 czy Tobie w poprzedniej wiadomości chodzi o to, że to macierz? Ja właśnie nie chce, żeby to była macierz tylko plot z jakaś tak gęstościa próbek
@Sidney1: nie no rozumiem, tylko że w tym wypadku x jest wektorem, tzn macierzą o wymiarach 1 x n. Ale mniejsza o to, bo jak w tym co wrzuciłeś dopiszę znaki mnożenia (które jak podejrzewam wykop zjadł) i zamiast ^ napiszę .^ (czyli potęgowanie wyraz po wyrazie, a nie macierzowe), to wykres wygląda chyba dobrze, tj. reprezentuję to czego spodziewałem się po wzorze.

Spróbuj na czymś prostszym np. na funkcji y=x^2
@kolnay1: ok rozumiem różnię, ale wydaje mi się, że z tym wektorem t jest coś nie tak. Według mnie dla 0 wartość powinna być 0, on wykreśla już jakieś spore wartości. W konsoli natomiast nieważne jak gęsto ustawię wektor pokazuje mi tylko 100 kolumn.
@kolnay1: z tym sobie poradziłem, chodziło to, żeby kropka była przed każdym znakiem ze zmienną (potęga, dzielenie i mnożenie). Ale przy okazji mam następny problem ( ͡° ͜ʖ ͡°) robię z tego FFT i to nawet wychodzi, ale jak chce to fft wyplotować skala nie zależy od częstotliwości jaką ustawie. W sensie pokazuje mi wzmocnienie i przesunięcie, ale nie pokazuje dla jakiej częstotliwości.