Why doesn't Matlab simplify units to Ohms..
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Aiswarya
2024 年 2 月 28 日
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 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!