-1

我在工作区中显示一条消息时遇到问题,该消息基本上会说'var1=var2',其中var1's 是字符串并包含在向量中,如下所示:

U1 = 
 u3
 v3
 u4
 v4

变量的索引和变量的实际数量可能会有所不同,并由用户输入决定。

var2由函数计算,也包含在一个大小相同的向量中,例如:

U =
    0.0625
    0.2500
         0
    0.1250

我希望函数显示的是这样的消息:

'u3=0.0625'

'v3=0.2500'

等等。

我试过这个:

for l1=1:numel(U)
    n7=U1(l1);
    n8=U(l1);
    sprintf('''%f'', = ''%f''', n7, n8)
end

但这告诉我没有为多个输入定义“sprintf”。

谁能帮我解决这个问题??当然它一定是愚蠢的,但我在网上找不到一个例子..

4

2 回答 2

1

可能有更优雅的方法可以做到这一点,但很简单:

for a=1:length(strings)
    disp(['''', strings(a), '=', num2str(values(a)), ''''])
end

应该做到这一点,确保字符串是字符串数组,是包含值的数组,并且它们具有相同的长度。

于 2013-04-29T22:24:41.263 回答
0

格式输入应该是一个字符串:

sprintf('%s = %.4f', n7, n8)
于 2013-04-29T22:18:46.227 回答