How do you get a number string to display the sign (pos and/or neg) in front of it.

30 vues (au cours des 30 derniers jours)
Sky Adams`
Sky Adams` le 13 Avr 2015
Commenté : Sky Adams` le 13 Avr 2015
What i am having trouble finding is how to get a title of a graph to display the sign for both positive and negative input. What i have done so far is this.
%Determine what the quadratic is.
disp('What are the quadratics coefficients?');
a = input('Coefficient A=');
b = input('Coefficient B=');
c = input('Variable C=');
disp('Thank you, calculating now.');
%display graph and customize it
plot(x,y, '--b', 'LineWidth', 3)
grid on
xlabel ('x')
ylabel ('f(x)')
title (['f(x)=' num2str(+a) 'x^2' num2str(+b) 'x' num2str(+c)])
The title is the quadratic function but like this only shows the "-" but i need it to show the "+" if it is a positive number.
Any pointers?

Réponses (2)

Guillaume
Guillaume le 13 Avr 2015
Use a format specifier with your num2str:
>>num2str(1.5235646, '%+2.2f')
ans =
+1.52
I would actually use sprintf to build the whole string:
title(sprintf('f(x)= %+2.2fx^2%+2.2fx%+2.2f', a, b, c))
  1 commentaire
Sky Adams`
Sky Adams` le 13 Avr 2015
Great, thanks for the fast reply! And thanks for the pointers to the right direction. :)

Connectez-vous pour commenter.


pfb
pfb le 13 Avr 2015
Perhaps use sprintf? For instance, if a, b, c are integers
ttl = sprintf('f(x) = %+d x^2 %+d x %+d',a,b,c);
title(ttl);
Use %f if a,b,c, are floating point and so on. Refer to the help of sprintf.
  2 commentaires
pfb
pfb le 13 Avr 2015
sorry for the duplicate, didn't see Guillaume's reply.
Sky Adams`
Sky Adams` le 13 Avr 2015
No need to apologize. I found your answer a bit more aligned with what i know which in turn made Guillaume's easier to understand. Thank you :)

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by