syms x;
y(x)=(-1/10)*(sin(x)+3*cos(x));
for i=2:1:N+1
t=a+(i-1)*h;
z=y(t);
fprintf('\n\tx\t\ty\n')
fprintf('%f %f\n',t,z)
end
我将x声明为syms,因此我可以用它来表示一个函数。我现在的问题是当我想使用循环中的t值打印y值时,我得到一个错误,说fprintf没有在sym输入上定义。
答案 0 :(得分:2)
使用fprintf
占位符指定%s
的符号输入,并使用char
将其转换为字符。
例如:
fprintf('\n\t%s\t\t%s\n',char(x),char(y))
正如alexmogavero在answer to this question中指出的那样,您还需要将z
的第二个fprintf符号输入转换为数值:
fprintf('%f %f\n',t,double(z))