2010-04-08 5 views
1

Использование MATLAB,MATLAB: Печать текста в поле ввода

У меня есть этот код:

value = input('>> Enter a value: '); 

и в принципе, я хочу "по умолчанию" значение справа от двоеточия

(sortof как это)

>> Enter a value: 12 

, где "12" является изменяемым таким образом, чтобы пользователь мог [Backspace] [Backspace] и изменить значение, скажем, «20» или что-то еще.

Есть ли способ (простой) для этого?

Спасибо!

ответ

4

Вы можете взломать поведение, хотя и не внешний вид, с:

myDefault = 12; 
x = input(['Enter a value (press Enter for default = ' num2str(myDefault) ')']); 
if (isempty(x)) 
    x = myDefault; 
end 

Уродливый, но я не знаю более простым способом.

+0

исключая двойные кавычки с одинарными кавычками – Adam

+0

не плохо - я подожду и посмотрю, есть ли какие-либо более качественные ответы, прежде чем я отмечу принятые, хотя – Adam

+0

@Adam - извините за кавычки, исправленные сейчас. И я надеюсь, что есть лучший способ! – mtrw

3

Вы можете всегда идти по графику GUI и использовать функцию INPUTDLG, чтобы создать диалоговое окно, как описано в this MathWorks blog post. Например:

b = inputdlg('What kind of Peanut Butter would you like?'); 

Создаст следующее диалоговое окно:

alt text

Вы можете легко добавить значения по умолчанию для входов. Вот диалоговое окно для примера:

value = inputdlg('Enter a value:','Input',1,{'12'}); 

Есть также many other types of built-in dialog boxes, которые вы можете выбрать.

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