Why doesn't Matlab simplify units to Ohms..
1 view (last 30 days)
Show older comments
u = symunit;
u0 = (4*pi()*1E-7)*(u.H/u.m);
e0 = 8.854187817*(1e-12)*u.F/u.m;
er = 1;
ur = 1.0;
Z = sqrt(u0/e0);
Zo = unitConvert(Z,'SI','Derived');
Zo = simplify(expand(Z));
Zo = vpa(Zo,5) %The Units should be Ohms
0 Comments
Answers (1)
Aiswarya
on 28 Feb 2024
Hi,
I understand that you are trying to simplify and convert your variable "Zo" to Ohms. The issue is that the function "unitConvert" does not simplify square roots, but only takes care of the units inside of them. You can resolve the issue by referring to the following modified code:
Z = sqrt(u0/e0);
% Convert to SI units and then simplify
Zo = unitConvert(Z, 'SI');
Zo = simplify(expand(Zo));
Zo = unitConvert(Zo, 'SI', 'Derived'); % Using 'Derived' resolves the units to 'Ohm'
Zo = vpa(Zo,5);
You can observe that the unit of "Zo" is "Ohms".
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!