how can i add unit in both input and output

3 visualizaciones (últimos 30 días)
Ga Ma
Ga Ma el 7 de Abr. de 2020
Comentada: Ga Ma el 8 de Abr. de 2020
I have a function looks like this. Now, i want add unit in both input and output. For example, if i i run money("dollar", 3), i will get: price= 3 dollar. Or if i run money("dollar",2,3 ), i will get price = 48 dollar. i don't know what code can do this.. please help me, thank you very much.
  1 comentario
Geoff Hayes
Geoff Hayes el 8 de Abr. de 2020
Is it necessary to pass in the units of the input variable(s)? Does the function body depend upon it for anyting other than providing an output string (or two parameters?) that indicate a numeric value and the unit?

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 8 de Abr. de 2020
Not exactly sure what formula you're using but this might be close:
price = money('dollar')
price = money('dollar', 2)
price = money('dollar', 2, 3)
function price = money(varargin)
price = '';
% nargin
% varargin
if nargin < 2
return;
end
if nargin >= 2
units = varargin{1};
p = varargin{2};
p0 = varargin{2};
end
if nargin >= 3
exponent = varargin{3};
% Compute p = k * k^2 * k^3 * k^4 * etc.
for k = 2 : exponent
p = p * p0 ^ k;
end
end
price = sprintf('price = %.2f %s', p, units);
end
  1 comentario
Ga Ma
Ga Ma el 8 de Abr. de 2020
Yes, it works. Thank you very much!!! Have a good day!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by