Extracting numeric values from symbolic variables
조회 수: 62 (최근 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
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
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!