Extracting numeric values from symbolic variables
    30 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    ali akbar
 am 6 Sep. 2020
  
    
    
    
    
    Beantwortet: Alphonce Owayo
 am 23 Feb. 2021
            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 Kommentare
Akzeptierte Antwort
  Thiago Henrique Gomes Lobato
      
 am 6 Sep. 2020
        
      Bearbeitet: Thiago Henrique Gomes Lobato
      
 am 6 Sep. 2020
  
      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 Kommentare
  madhan ravi
      
      
 am 6 Sep. 2020
				“ is a logic operation”. Not in this case when it contains a symbolic variables it forms an equation.
  Thiago Henrique Gomes Lobato
      
 am 6 Sep. 2020
				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  
Weitere Antworten (3)
  madhan ravi
      
      
 am 6 Sep. 2020
        == forms an equation , it DOESN’T assign any values.
1 Kommentar
  madhan ravi
      
      
 am 6 Sep. 2020
				
      Bearbeitet: madhan ravi
      
      
 am 6 Sep. 2020
  
			I would suggest you to do the below instead:
 c = num2cell(x);
 celldisp(c)
  Alphonce Owayo
 am 23 Feb. 2021
        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 Kommentare
  Alphonce Owayo
 am 23 Feb. 2021
        shown above is how to extract numeric values from symbolic variables and display them in the command window.
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!