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

33 views (last 30 days)
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?

Answers (2)

Guillaume
Guillaume on 13 Apr 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))

pfb
pfb on 13 Apr 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 Comments
Sky Adams`
Sky Adams` on 13 Apr 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 :)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!