假设:
y=[y(1),y(2),...,y(n)]
用户输入n
的地方,并且:
x=[x(1),x(2),...,x(n)]
a=[a0,a1,...,am]=[a(1),a(2),...,a(m+1)]
用户也输入m
,然后我需要计算:
y(p) = a0*x(p)^0 + a1*x(p)^1 + a2*x(p)^2 + ... + am*x(p)^m
y(p) = a(1)*x(p)^0 + a(2)*x(p)^1 + a(3)*x(p)^2 + ... + a(m+1)*x(p)^m.
即。 y
的每个元素都是m
,y=a0+a1x+a2x^2+...+amx^m
中的多项式,使用p
th x
值{{1} } th p
值。
总结符号:
y
我不确定如何在MATLAB中总结这个系列。任何帮助将不胜感激!
编辑:
我尝试通过以下方式评估y(p) = **sum** (from q=0 to m) **[a(q+1)*x(p)^q]**
的每个值,例如y(p)
:
y(2)
但是,这会返回错误syms q a x
f=a(q+1)*x(2)^q
y(2) = symsum(f, q, 0, m)
。
答案 0 :(得分:0)
代码是完全描述性的,在此代码中
meshgrid
函数起着核心作用,如果代码不那么描述,那么我建议学习matlab中的基础知识(什么是矩阵以及如何在matlab中处理它们)
% Inputs , for example x=[1,2,3,..,10] and a=[5,6,7,8]
x=1:10
a=[5,6,7,8]
% m <= length(a)
m=3
% temporary matrices
[tx,ta] = meshgrid(x,a)
[~,tm]=meshgrid(x,0:m)
t=ta(1:m+1,:).*tx(1:m+1,:).^tm(1:m+1,:)
% y is your result and has equal elemnts to x matrix
y=sum(t,1)
% some outputs
y(2)
y(3)
aslo,问题中提到的错误有一个原因,在[https://stackoverflow.com/a/47782904/6478645]
中有描述答案 1 :(得分:0)