# Getting error using syms to implement power formula

조회 수: 1(최근 30일)
Giggs B. 2021년 6월 28일
댓글: Giggs B. 2021년 6월 30일
Hi,
I am trying to implement the power formula which is in the attached image. I have written my code like this:
.
.
syms N; %Power formula
syms fs_sym;
fs_sym=sym(fs);
N=fs_sym*3;
syms x_hsym;
syms n;
syms f1;
syms f;
syms Power;
x_hsym=sym(x_h);
%f= (1/(2*N+1))*symsum((abs(x_h(n))),n,-N,N);
f1=symsum((abs(x_hsym(n))),n,-N,N);
f= (1/(2*N+1))*f1;
Power=limit(f,N,inf);
This code is in continuation with some more code. So x_h along with other variabes were double, so I changed all of them to symbolic variales. But I am getting error:
Error using sym/subsindex (line 814)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and
function body must be sym expression.
Error in sym/subsref (line 859)
R_tilde = builtin('subsref',L_tilde,Idx);
Error in BestAlgorithmDetection (line 97)
f1=symsum((abs(x_hsym(n))),n,-N,N);
I tried a couple of things, but cannot fix it. Can anyone help or provide a better way to implement the avove formula?

댓글을 달려면 로그인하십시오.

### 채택된 답변

Alan Stevens 2021년 6월 28일
Like this?
% Arbitrary values - replace with your own
fs = 1;
x_h = @(n) 1/(n+10)^2;
%Power formula
syms N fs_sym x_hsym n f Power;
fs_sym=sym(fs);
N=fs_sym*3;
f= (1/(2*N+1))*symsum((abs(x_h(n))),n,[-N,N]);
Power=limit(f,n,inf);
disp(Power) ##### 댓글 수: 17표시숨기기 이전 댓글 수: 16
Giggs B. 2021년 6월 30일
@Paul yes, I got that. Thanks :)

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!