2017-01-28 2 views
1

Я работаю с функцией p(t), которая является функцией переменной времени t. У меня нет явного выражения p как функция времени, и я хотел бы применить преобразование Лапласа к выражению, которое включает в себя функцию p. Я начал с определения всех параметров, как символическое в MATLABПреобразование Лапласа неявной функции

syms m ms k t p f; 
f=(m+ms/3)*(diff(p(t),t))^2+k*(p(t))^2; 

Когда я выполняю эти строки, я получаю эту ошибку.

enter image description here

Я думаю, что проблема исходит из того, что я пытаюсь дифференцировать функцию p относительно t, но я не уверен. Есть ли способ получить преобразование Лапласа функции f?

+0

Какое сообщение об ошибке вы получаете? – codeaviator

+0

@Cebri Вот сообщение об ошибке: Ошибка при использовании sym/subsindex (строка 769) Неверное индексирование или определение функции. При определении функции убедитесь, что аргументы являются символьными переменными, а тело функции является выражением SYM. При индексировании вход должен быть числовым, логическим или ':'. Ошибка в sym/subsref (строка 814) R_tilde = builtin ('subsref', L_tilde, Idx); – chsafouane

+0

@Adriaan Done.Спасибо! – chsafouane

ответ

0

Проблема заключается в определении параметров. Для того, чтобы этот код работал, немного изменить это необходимо, когда речь идет об определении функции «р»

syms m ms k t p(t) f; 
f=(m+ms/3)*(diff(p(t),t))^2+k*(p(t))^2; 

Стоит отметить, что переменный «т» должен быть определен до р. Этот код определяет «p» как «symfun», который является типом, заданным функции, когда определяется с помощью символической панели инструментов.

Смежные вопросы