如何在不使用for / while循环的情况下在MATLAB中求解此求和? 这里C是矢量(1 * N矩阵),n =长度(c),x是标量。 C(1)* X ^ 1 + C(2)* X ^ 2 + C()* X ^ 3 + ... + C(N)* X ^ N
或者我可以创建一个矩阵,所有元素都等于x,但功率越来越大,如x,x ^ 2,x ^ 3 ......?
答案 0 :(得分:3)
有几种方法:
result = polyval(fliplr([0 c]), x);
result = sum(c.*x.^(1:numel(c)));
result = sum(c.*cumprod(repmat(x, 1, numel(c))));
例如,
c = [3 4 -5 2 3];
x = 9;
上述任何一项
result =
186975
检查:
>> c(1)*x^1+c(2)*x^2+c(3)*x^3+c(4)*x^4+c(5)*x^5
ans =
186975