一千萬個為什麽

搜索

如何在MATLAB中使用求和?

我有一個隨機生成的向量,比如長度 MA

說:

A = rand(M,1)

我還有一個函數, X(k)= sin(2 * pi * k)

我怎樣才能找到 Y(k),它是 A(l)* X(kl)的總和,因為 l 從0變為中號</代碼>?

假設k的任何值......但答案應該是所有 M + 1 項的總和。

最佳答案

給定 Mk ,這是您執行求和的方法:

A = rand(M+1,1);            %# Create M+1 random values
Y = sin(2*pi*(k-(0:M)))*A;  %# Use a matrix multiply to perform the summation

EDIT: You could even create a function for Y that takes k and A as arguments:

Y = @(k,A) sin(2*pi*(k+1-(1:numel(A))))*A;  %# An anonymous function
result = Y(k,A);                            %# Call the function Y

轉載註明原文: 如何在MATLAB中使用求和?