MATLAB-如何将字符串打印为数字?

MATLAB-如何将字符串打印为数字?,matlab,Matlab,我想运行以下代码: %This program is for Euler-Cauchy Second Order% disp('Euler-Cauchy Second Order') n=1; syms eqn ypp eqn= input ('y``: '); x=input('x0: '); y=input('y0: '); yp=input('y`: '); h=input('step: '); disp('n x y y` y``')

我想运行以下代码:

%This program is for Euler-Cauchy Second Order%
disp('Euler-Cauchy Second Order')
n=1;
syms eqn ypp
eqn= input ('y``:  ');
x=input('x0:  ');
y=input('y0:  ');
yp=input('y`:  ');
h=input('step:  ');
disp('n    x      y        y`        y``')
solve (ypp==eqn,ypp);
a=char(ans);
fprintf('%1.1f %1.1f  %2.5f  %2.5f  %2.5s \n',n,x,y,yp,a)
但我想把我的“a”显示为一个数字,和其他数字一样,有2个整数和5个小数位。显然,上面的一个在fprintf中不起作用。我尝试将a转换为双精度,但它返回的是“NaN”,我不知道还能做什么。请帮忙

试试:


可以找到其他数据类型转换。

尝试过。不起作用。它返回[]编辑:再次尝试,“a”似乎是一个sym变量,并将等式转换为8位整数。编辑:再试一次。现在它返回字符a的值而不是数字值。“a”在代码中有什么用途?更改数据类型时,还必须将fprintf“%s”更改为字符串,并将字符类型“%d”更改为整数。代码中是否存在其他问题?例如,这些
x
y
yp
h
在您的代码中做什么?你能更详细地解释一下你的代码吗?此外,您可以将单引号转义为
'y'':'
'y'':'
,等等。我正在做二阶微分方程的Euler-Cauchy数值方法。我尝试过使用char转换它们,然后使用str2num再次转换它们,它可以工作,但它没有使用fprintf打印它们。
str2num(a)