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

24 次查看(过去 30 天)
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?

回答(2 个)

Guillaume
Guillaume 2015-4-13
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 2015-4-13
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.

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by