Matlab 在不同点评估函数

Matlab 在不同点评估函数,matlab,plot,Matlab,Plot,我想在t的多个等距值处计算x。如何做到这一点,函数并不总是多项式,但在这种情况下它就是多项式。您可以使用subs X(1)=-10; Y(1)=0; Z(1)=37; for k = 1:6 X(k+1)=(40*1/k)*(Y(k)-X(k)); temp_sum = sum(X(1:k).*Z(k:-1:1),2); Y(k+1) = (1/k)*(-12*X(k)-temp_sum+28*Y(k)); temp_sum = sum(X(1:k).*Y(k:-1:1)

我想在t的多个等距值处计算x。如何做到这一点,函数并不总是多项式,但在这种情况下它就是多项式。

您可以使用
subs

X(1)=-10;
Y(1)=0;
Z(1)=37;
for k = 1:6
   X(k+1)=(40*1/k)*(Y(k)-X(k));
   temp_sum = sum(X(1:k).*Z(k:-1:1),2);
   Y(k+1) = (1/k)*(-12*X(k)-temp_sum+28*Y(k));
   temp_sum = sum(X(1:k).*Y(k:-1:1),2);
   Z(k+1) = (1/k)*(temp_sum-3*Z(k));
end
syms t;
x=sym('x(t)');
sumtempp=('sumtempp(t)');
y=sym('y(t)');
z=sym('z(t)');
x=0;
for k=1:7
   sumtempp =X(k)*(power(t,k-1));
   x=x+sumtempp;
end   

如果您想要浮点值结果,只需执行
eval(values)
(注意,这是sym/eval,仅对符号内容使用
eval

如何在t轴上绘制?我需要在晚上做这件事last@Upstart
plot(t,values)
注意,如前所述,使用
double
而不是
eval
可能更快(平均而言)。
values=subs(x,3:0.4:10);