Extracting numeric values from symbolic variables

조회 수: 91 (최근 30일)
ali akbar
ali akbar 2020년 9월 6일
답변: Alphonce Owayo 2021년 2월 23일
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.

채택된 답변

Thiago Henrique Gomes Lobato
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
madhan ravi
madhan ravi 2020년 9월 6일
“ is a logic operation”. Not in this case when it contains a symbolic variables it forms an equation.
Thiago Henrique Gomes Lobato
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
madhan ravi 2020년 9월 6일
== forms an equation , it DOESN’T assign any values.

Alphonce Owayo
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);

Alphonce Owayo
Alphonce Owayo 2021년 2월 23일
shown above is how to extract numeric values from symbolic variables and display them in the command window.

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by