2016-01-14 4 views
0
syms s 

x = input(' please enter value for x '); 

w = input(' please enter value for w '); 

i1=(2*x); 

i2=((x*x) + (w*w)); 

b=[1 -1]; 

a=[1 i1 i2]; 

[r,p,k]= residue(b,a) 

PFE= ((r(1)/((k(1)*s) - (p(1))))) + (r(1)/((k(1)*s) - (p(1)))); 

disp(PFE) 

ilaplace(PFE) 

Я получаю индекс, превышающий размер матрицы, когда я запускаю это. Я не знаю, как это исправить? Я искал это, но все предыдущие примеры имеют петли, а у меня нет. Я в тупике, может кто-то может помочь?Индекс превышает размеры матрицы - Частичные фракции в Matlab

+0

Говорит ли ошибка, какая строка? Это поможет сузить его до функции, которая имеет проблему. – whrrgarbl

+1

Вы подтвердили, что 'r',' p' и 'k' не пусты? Если они есть, это объясняет ошибку, поскольку вы пытаетесь получить доступ к их 1-му элементу. –

ответ

0

Думаю, я исправил его. LOL через несколько минут после постановки этого вопроса. Это то, что я получил

syms s 
x = input(' please enter value for x '); 
w = input(' please enter value for w '); 
i1=(2*x); 
i2=((x*x) + (w*w)); 
b=[1 -1]; 
a=[1 i1 i2]; 
[r,p,k]= residue(b,a) 
PFE= ((r(1))/(s-p(1))) + ((r(2))/(s-p(2))) ; 
disp(PFE) 
ilaplace(PFE) 

Я исправил это, изменив уравнение PFE.

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