Can I use a symbol as a variable?

2 visualizzazioni (ultimi 30 giorni)
Prasenjit Dewanjee
Prasenjit Dewanjee il 19 Feb 2023
Commentato: Walter Roberson il 19 Feb 2023
HI!
In my code, I have declared:
syms m
I have thes huge expressions that contain m in them as a symbol. Later in the code, I want to use m as a varibale in a loop like this:
m= 1:1:20
Is there any way to do this?
Any help will be appreciated.

Risposte (1)

Paul
Paul il 19 Feb 2023
Hi Prasenjit,
Yes, you can do that
syms m
f = m^2 % expression that contains m as a symbol
f = 
whos m % m is sym
Name Size Bytes Class Attributes m 1x1 8 sym
for m = 1:1:20; % loop with m
m; % do something with m
end
whos m % m is now a double
Name Size Bytes Class Attributes m 1x1 8 double
At this point f is still an expression in terms of m
f
f = 
However, the m that is in f is now not related to the variable m in the Matlab workspace. Are you sure that's what you want?
What is the goal of defining expressions in terms of sym m and then using m as a loop variable? If you show a simple example of what you're trying to do someone might be able to help do it in a different or better way.
  1 Commento
Walter Roberson
Walter Roberson il 19 Feb 2023
if the idea is that you want the loop variable m to become the value of symbolic m, then see subs()

Accedi per commentare.

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by