【发布时间】:2021-05-12 12:51:06
【问题描述】:
我正在尝试制作一个通用多项式函数,它给出了计算它的时间段,最高多项式幂powr,以及每个常数a;其中a 和powr 的长度相同。
我的代码方法如下:其中time 的每个元素从powr 转换为一个向量,然后当与a 逐个元素相乘时,然后计算结果向量的总和以使其成为一个元素。
for i=1:length(time)
result(i)=sum((time(i).^[powr]).*[a]);
end
问题在于,time 拥有的元素越多和/或a 和powr 的长度越长,执行此计算所需的时间就太长了。有没有办法更快地进行这个计算?
【问题讨论】:
-
忘记添加了,但可能是无用的信息:
powr=Highest_Power:-1:0;和a由用户定义。 -
你能提供一个minimal reproducible example吗?
-
仅供参考,MATLAB 有一个名为
polyval的专用多项式评估函数。它所需要的只是一个查询向量(计算多项式的值)和一个降序的系数向量。
标签: matlab