Matlab中无for/while循环的求和
如何在不使用for/while循环的情况下在MATLAB中求解此求和? 这里C是一个向量(1*N矩阵),N=长度(C),x是标量。 c(1)*x^1+c(2)*x^2+c()*x^3+..+c(n)*x^nMatlab中无for/while循环的求和,matlab,Matlab,如何在不使用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……。有几种方法: result=polyval(fliplr([0c]),x) result=sum(c.*x.^(1:numel(c)) result=sum(c.*cumprod(repmat(x,1,nu
或者我可以创建一个矩阵,其中所有元素都等于x,但幂递增,比如x,x^2,x^3……。有几种方法:
result=polyval(fliplr([0c]),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
不错的选择:)这只是我看到这里的直向量乘法<代码>c*x.^(1:numel(c))'。实际上这是你的第二个选择,在其他写作中。。。