Extracting numeric values from symbolic variables
45 次查看(过去 30 天)
显示 更早的评论
I have two matrices say
x=[2 4 9 10];
syms c [1 4];
x==c
it returns
2=c1
4=c2
9=c3
10=c4
However when I write c1 in command window, it returns symbolic 'c1'.
I wanted to extract these numeric values or assign these values to c vector. How one would go around this.
0 个评论
采纳的回答
Thiago Henrique Gomes Lobato
2020-9-6
编辑:Thiago Henrique Gomes Lobato
2020-9-6
x==c
The "==" operator is normally used as a logic comparison operation, not an assignment. In the case of using symbolic variables, "==" defines an equation, which could be solved, for example, with the matlab function solve. If you want to give values to your variables, use only one "=" sign, for example:
x=[2 4 9 10];
syms c [1 4];
>> c(1) = 2
c =
[ 2, c2, c3, c4]
>> c=x
c =
2 4 9 10
2 个评论
Thiago Henrique Gomes Lobato
2020-9-6
You're right, it becomes an equation when it contain symbolic variables. Since I believe he was knew to matlab I thought the more general definition of the operator would be easier to understand/apply to future cases. I will edit the answer accordingly
更多回答(3 个)
madhan ravi
2020-9-6
== forms an equation , it DOESN’T assign any values.
1 个评论
madhan ravi
2020-9-6
编辑:madhan ravi
2020-9-6
I would suggest you to do the below instead:
c = num2cell(x);
celldisp(c)
Alphonce Owayo
2021-2-23
For example;
syms x y
eqn1=x+y==20;
eqn2=2.3x-9y==13;
soln=vpasolve(eqn1,eqn2);
xsoln=soln.x;
ysoln=soln.y;
or
xsoln=double(soln.x);
ysoln=double(son.y);
disp(xsoln);
disp(ysoln);
0 个评论
Alphonce Owayo
2021-2-23
shown above is how to extract numeric values from symbolic variables and display them in the command window.
0 个评论
另请参阅
类别
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!