Azzera filtri
Azzera filtri

How do I evaluate a function that contain an array index inside a sum?

1 visualizzazione (ultimi 30 giorni)
I want to evaluate this function and save the result in an array in MATLAB
Where A and B are arrays, and N and P are constants. For example A = [1,2,3,4], B = [1,2,3], P = 6, and N = 4.
Also, I want to save the output of f(x) and its corresponding x value.

Risposta accettata

Walter Roberson
Walter Roberson il 6 Ott 2021
Modificato: Walter Roberson il 19 Ott 2021
Calculate definite vector values and sum()
k = (1 : N-1) .';
f = @(x) A0/2 + sum(A(k) .* cos(2*pi.*k.*x./P) + B(k) .* sin(2*pi*.k.*x./P),1) + A(N).*cos(2*pi.*N.*x/P)/2
For example A = [1,2,3,4], B = [1,2,3], P = 6, and N = 12
N cannot be greater than one less than length(A) or length(B).
Also, unless you store in a separate variable like I used here, then you would need to make adjustments to the code to deal with the question of whether you are using 0-based indexing or 1-based indexing.
Note: this version of the code is vectorized, provided that x is a row vector.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by