Упражнение 5. Matlab

From Ilianko

Стринг с апостроф

Когато искаме апостроф слагаме два апострофа!

ilian'co => ilian''co
 >> ''diff''
 ??? ''diff''
      |
 Error: Unexpected MATLAB expression.
 
 >> '''diff'''
 ans =
 'diff'

Масив от клетки

Всеки елемент може да е от различен тип

Cells = { 10, pi, 3+4i, 'MuPad', [1 2 3], [1 2 3; 4 5 6] , {'a', 1} }

Cells = 

  Columns 1 through 5

    [10]    [3.1416]    [3.0000 + 4.0000i]    'MuPad'    [1x3 double]

  Columns 6 through 7

    [2x3 double]    {1x2 cell}

Достъп до всички данни на масива от клетки

for i = 1:6, Cells(i), end
Cells{6}{2}

Преобразувания на Лаплас

>> syms h w p k
>> syms t, ilaplace(h*w/((p^2+w^2)*(p^2+k^2)), p, t)
 
ans =
 
(h*sin(t*w))/((k + w)*(k - w)) - (h*w*sin(k*t))/(k*(k + w)*(k - w))
 
>> y = simplify(ans)
 
y =
 
(h*(k*sin(t*w) - w*sin(k*t)))/(k*(k^2 - w^2))
 
>> pretty(y)

  h (k sin(t w) - w sin(k t))
  ---------------------------
              2    2
          k (k  - w )
>>
syms p x, fi = ilaplace(1/(p-1)^2, p, x)
fi =
x*exp(x)

>> syms x p k w
>> f = exp(-k*x)*sin(w*x + k);
>> F = laplace(f, x, p)
 
F =
 
(sin(k)*(k + p) + w*cos(k))/((k + p)^2 + w^2)
 
>> syms t, pretty(simplify(F, p,x))
??? Error using ==> sym.simplify
Too many input arguments.
 
>> syms t, simplify(ilaplace(F, p,x))


 
ans =
 
sin(k + w*x)/exp(k*x)

Пример: ... няма го

>> syms x p ,laplace(exp(-x)*sin(2*x),x,p)
ans =
2/((p + 1)^2 + 4)
y = ilaplace(2*p/((p^2+p+1)*((p+1)^2+4)), p, x)
plot(-13:0.01:3,subs(y,x, -13:0.01:3))
Лаплас

Проверка

>> diff(y,x) +y + int(subs(y,x,t),t,0,x)
ans =
(2*cos(2*x))/(13*exp(x)) - (8*(cos(2*x)/4 - 2*sin(2*x)))/(13*exp(x)) - (8*(cos((3^(1/2)*x)/2)/4 +  

(3^(1/2)*sin((3^(1/2)*x)/2))/2))/(13*exp(x/2)) - (2*cos((3^(1/2)*x)/2))/(13*exp(x/2)) - (3*sin(2*x))/(13*exp(x)) + (4*(cos((3^(1/2)*x)/2) - (3^(1/2)*sin((3^(1/2)*x)/2))/6))/(13*exp(x/2)) + (14*3^(1/2)*sin((3^(1/2)*x)/2))/(39*exp(x/2))

>> simplify(ans)
ans =
sin(2*x)/exp(x)


Решаване системи линейни уравнения