有谁知道如何从char数据类型转换为符号数据类型? 我说这个:
x = 0.49;
n = 22;
roundn(exp(x*49/200),n)
class ans
答案是:
ans =
0
ans =
char
我正在寻找数值。如何将char数据类型转换为符号数据类型?
谢谢。
答案 0 :(得分:2)
输出是正确的类;你的问题在你的语法中。使用:
class(ans)
而不是
class ans
第一个为您提供变量ans
的类,第二个为您提供字符串“ans”的类。
答案 1 :(得分:1)
听起来你希望roundn(...)
的输出是一个符号表达式。但是,ROUNDN似乎是来自Mapping Toolbox的函数,因此我怀疑它是否适用于符号变量。
我想也许使用VPA中的Symbolic Toolbox就是你想要的:
>> eq = sym('exp(x*49/200)'); %# A symbolic equation
>> x = sym(0.49); %# A symbolic value
>> n = 22; %# Number of digits of precision
>> vpa(subs(eq,'x',x),n) %# Substitute x and evaluate
ans =
1.127553227831349194548 %# ans is a symbolic value
答案 2 :(得分:1)
这是你在找什么?
%char
expr = '1+exp(1)';
%sym
x = sym(x);
%number
xval1 = double(x);
%rounded number
xval2 = double(vpa(x, 2));
>> n = 22;
>> expr = exp(x*49/200);
>> res = subs(expr,x,0.49);
res =
1.1276
>> class(res)
res =
double
>>