0

char データ型からシンボリック データ型への変換方法を知っている人はいますか? 私はこれを置く:

x = 0.49;
n = 22;
roundn(exp(x*49/200),n)
class ans

答えは次のとおりです。

ans =

 0


ans =

char

数値を探しています。char データ型をシンボリック データ型に変換するにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

2

出力は正しいクラスです。あなたの問題はあなたの構文にあります。使用する:

class(ans)

それ以外の

class ans

1 つ目は変数のクラスをans示し、2 つ目は文字列 "ans" のクラスを示します。

于 2010-11-23T19:17:41.017 に答える
1

roundn(...)からの出力をシンボリック式にしたいようです。ただし、ROUNDNはMapping Toolboxの関数のように見えるため、シンボリック変数で機能するとは思えません。

おそらく、 Symbolic ToolboxからVPAを使用することが必要だと思います。

>> 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
于 2010-11-23T19:44:14.597 に答える
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
>> 
于 2010-11-23T19:51:08.233 に答える