why get a symbolic result in the workspace ?

7 ビュー (過去 30 日間)
Stanley Cheng
Stanley Cheng 2014 年 1 月 22 日
回答済み: Walter Roberson 2014 年 1 月 22 日
Hi everyone,
I run a matlab code containing symbolic variables in it. When I use "subs" code to substitute all of the symbolic variables in a variable with numerical values, after computation, I obtain a symbolic format result of the variable in the workspace in matlab. but when i use findym() to check which symbolic variable in it, I find no symbolic ones exist in it. just as the following for instance for brevity because my code is too long:
syms a b;
c=a+b;
d=subs(c,[a,b],[1,2]);
normally d should be a numerical value, but it is symbolic
It is quite strange.
Could anyone give a reason for this? Thanks so much for your help!

採用された回答

Walter Roberson
Walter Roberson 2014 年 1 月 22 日
subs() converts numeric values into symbolic form and does the substitution in symbolic form giving a symbolic answer. The symbolic answer might possibly only contain numbers and constants such as Pi and operations on these, and so might completely represent a specific numeric value -- or the symbolic answer might be approximatible as a specific numeric value (e.g., it might have been calculated in more digits than fit into a MATLAB numeric value.)
To convert a symbolic representation of a number into a MATLAB numeric representation, apply double() to the symbolic form.

その他の回答 (0 件)

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by