Hello! I want to implement a formula such F(k)=k*symsum(x(n)*n,n,1,8). There is my code, but i don't know how to put vector x(n) in that sum. It doesn t work.
x=[1 3 5 4]
syms x k n
F(k)=k*symsum(x(n)*n,n,1,4)
That s my code. I want to do>>>>>>>>>>> F(k)=k*[x(1)*1+x(2)*2 +x(3)*3....], but i want the valueof x(1) and x(2)...
So the result may be>>>>>>>>>>>> F(k)=k*[1*1+3*2+5*3+4*4]

 Risposta accettata

Walter Roberson
Walter Roberson il 5 Mar 2021

0 voti

You are attempting to index x with a symbolic variable. That is not possible with MATLAB, and that is something that is not expected to change any time soon.
Construct the definite terms instead
nx = x(:)*(1:length(x));
F(k) = k*nx;
Note that the first line is algebraic matrix multiplication * operator, column * row giving scalar result

3 Commenti

Mihai Iustinian
Mihai Iustinian il 5 Mar 2021
Ok, but if x=sin(2*pi*1/32*(0:127))? It is a sinusoidal signal with 4 period, represented on 128 point.
How do I construct x now?
syms k
n = 1:128;
Pi = sym(pi);
x = sin(2*Pi*1/32*(n-1));
nx = simplify(n * x(:))
nx = 
F(k) = k*nx
F(k) = 
Mihai Iustinian
Mihai Iustinian il 6 Mar 2021
Thanks!!!

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by