Can I create a symbolic variable with units and assign an initial value of 0
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
G'day, new to Matlab and just been through symbolic equations tutorial.
If I do the following:
syms dia circ u
u=sysunit
dia=10*u.m %10 is assigned with the unit of a metre
If I then say
dia = 0
dia
0 %zero is returned with no units.
Can I assign units to a sym reqardless of quantity and have the units carry through all calculations?
That is, can I define dia and circ with the units of metre or kg etc without assigning a numeric value?
Thanks and reqards
Paul
0 Kommentare
Antworten (4)
Priyanshu Mishra
am 1 Dez. 2019
According to MATALAB documentation, you need to assign a value to speciy unit. For more information on symunit, you may refer to the following link
0 Kommentare
Walter Roberson
am 5 Dez. 2019
Units are implemented by multiplying by a symbolic variable that can be recognized by the units manipulation package. Unfortunately because it is a multiplication, when the value being multiplied by is 0, the result simplifies to just 0 -- with no unit.
You have to use cell array representation to hold the units along with a value of 0. See the temperature 0 discussion at https://www.mathworks.com/help/symbolic/units-conversion.html
0 Kommentare
Paul Buckman
am 6 Dez. 2019
1 Kommentar
Walter Roberson
am 7 Dez. 2019
It is a nuisance that 0 acts this way, and I filed a bug report about it years ago. I do recommend that other people file as well, as Mathworks prioritizes problems that multiple people complain about.
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!