在Matlab中绘制无循环的多个函数

时间:2013-10-31 17:49:10

标签: matlab

我需要以几个顺序绘制泰勒系列(exp(x))的图,从2到10没有循环。 谢谢你的帮助! :)

{这就是我用循环做的方式}

 t=linspace(0,1,1000);
 plot(t,exp(t),'r')
 hold on
 syms x
 for i=1:9
     f(x)=taylor(exp(x),'order',i+1);
     y=f(t);
     plot(t,y)
 end

1 个答案:

答案 0 :(得分:0)

如果你不介意手动计算泰勒术语,你可以在没有循环的情况下做到这一点:

N = 10;
t = linspace(0,1,1000);
f = cumsum(bsxfun(@power, t, (0:N).').*repmat(1./factorial(0:N).',1,length(t))).';
plot(t,f)

这利用了将矩阵输入传递给plot导致每列都被绘制的事实。