在Matlab中使用输入对话框

时间:2012-04-21 13:40:21

标签: matlab

假设我有一个类似这样的函数:

function [ c ] = input_args(m)

for i = 1 : m+1

    c{i} = inputdlg('Enter next m value');

end

end

现在我想改变它,以便在for循环的第i阶段给用户的指令说“输入第i个值”,其中i正在改变for循环中的索引。我怎么能这样做?

谢谢!

1 个答案:

答案 0 :(得分:0)

字符串是一个字符数组,因此您可以像任何其他数组一样连接它们。您需要使用num2str将数字转换为可打印字符。

inputdlg(['Enter the ' num2str(i) 'th m value']);

更通用的解决方案是使用sprintf格式化字符串;使用sprintf做同样的事情:

inputdlg(sprintf('Enter the %dth m value', i));

您可能会发现它更具可读性(并允许您使用标准的fprintf格式化选项)。