2015-03-24 3 views
0

Мне интересно, как разобрать стандартный вывод для его использования?Как разобрать выходные данные из ans matlab

Например, я решения задачи ЛП:

f = [-7 -5]; 
A = [2 3; 3 1; 0 3; 3 0]; 
b = [25 20 18 15]; 
point = linprog(f,A,b) 

Я получил

point = 

    5.0000 
    5.0000 

Но я хочу, чтобы использовать его в

text(point, '\leftarrow Optimal') 

И Matlab

Error using text 
Not enough input arguments. 

Я понимаю почему: потому что текст что-то вроде этого: text(5,5,'\leftarrow Optimal') ... Итак, как я могу разобрать мой вывод, чтобы заставить мой текст работать?

ответ

0

ли вы имеете в виду:

text(point(1),point(2), '\leftarrow Optimal') 

редактировать

Чтобы сложить строки здесь несколько различных способов сделать это:

str=num2str(optvalue,'%s') 
text(point(1),point(2), ['\leftarrow Optimal' str]) 
% or 
text(point(1),point(2), strcat ('\leftarrow Optimal', str)) 
% or 
text(point(1),point(2), sprintf ('\\leftarrow Optimal %s', str)) 

Посмотрите на MatLab помощь по каждому чтобы понять, как их использовать.

+0

Да! Большое спасибо! Теперь я знаю, что для указания строки в стандартном выводе нужно просто добавить (i)! –

+0

И если я хочу добавить 'optvalue = -f * point' и добавить результат в строку _text_? Что-то вроде 'str = num2str (optvalue, '% s'), текст (точка (1), точка (2), '\ leftarrow Optimal: str')' не работает = ( –

+0

Thats отлично работает! добавлена ​​точность 'str = num2str (optvalue, '% 6.2f');' и это то, что я все хотел. Еще раз спасибо! –

Смежные вопросы