2014-02-18 6 views
0

У меня есть уравнение, которое я попытался преобразовать в matlab/октаву, но продолжаю получать ошибку функции сопоставления. Может кто-нибудь сказать мне, что я делаю неправильно. Уравнение ниже.преобразование уравнения в matlab/октаву

Благодаря

enter image description here

Matlab/код октаву ниже

fs=44100; %sampling frequency 
t=(0:10*fs)/fs; %Time vector 
alpha=1.1513; 
siga1=cosh*(400*pi*j*(cosh*(alpha*t)-sinh*(alpha*t))/alpha); 
siga2=sinh*(400*pi*j*(cosh*(alpha*t)-sinh*(alpha*t))/alpha); 
sigb=siga1-siga2; 
+0

после cosh и sinh вам не нужен * – NKN

ответ

2

гиперболического синус и косинус являются функциями, и вы рассматриваете их как переменные.

Это должно работать (до тех пор, как вы J определены где-то)

fs=44100; %sampling frequency 
t=(0:10*fs)/fs; %Time vector 
alpha=1.1513; 
siga1=cosh(400*pi*j*(cosh(alpha*t)-sinh(alpha*t))/alpha); 
siga2=sinh(400*pi*j*(cosh(alpha*t)-sinh(alpha*t))/alpha); 
sigb=siga1-siga2; 
+0

'j' является действительной альтернативой мнимой единице' i' в Matlab (октава тоже, я полагаю). Таким образом, он будет работать до тех пор, пока 'j' is * not * определяется как что-то еще в рамках этого кода. Как правило, предпочтительными являются '1i' и' 1j'. – horchler

-1

Я не работал на MATLAB для 2-х лет, но я считаю, что ваши функции должны быть такими:

siga1=cosh(400*pi*j*(cosh*(alpha*t)-sinh(alpha*t))/alpha); 
siga2=sinh(400*pi*j*(cosh*(alpha*t)-sinh(alpha*t))/alpha); 

Можете ли вы дать мне отзыв после того, как вы попробуете его?

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