Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示';var1=var2';MATLAB_Matlab_For Loop_Printf - Fatal编程技术网

显示';var1=var2';MATLAB

显示';var1=var2';MATLAB,matlab,for-loop,printf,Matlab,For Loop,Printf,我在工作区中显示一条消息时遇到问题,该消息基本上是'var1=var2',其中var1是字符串,包含在向量中,如下所示: U1 = u3 v3 u4 v4 'u3=0.0625' 'v3=0.2500' 变量的指数和变量的实际数量可能会有所不同,并由用户的输入决定 var2由函数计算并包含在具有相同大小的向量中,例如: U = 0.0625 0.2500 0 0.1250 我希望函数显示如下消息: U1 = u3 v3 u4

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

U1 = 
 u3
 v3
 u4
 v4
'u3=0.0625'

'v3=0.2500'
变量的指数和变量的实际数量可能会有所不同,并由用户的输入决定

var2
由函数计算并包含在具有相同大小的向量中,例如:

U =
    0.0625
    0.2500
         0
    0.1250
我希望函数显示如下消息:

U1 = 
 u3
 v3
 u4
 v4
'u3=0.0625'

'v3=0.2500'
等等

我试过这个:

for l1=1:numel(U)
    n7=U1(l1);
    n8=U(l1);
    sprintf('''%f'', = ''%f''', n7, n8)
end
但这告诉我,“sprintf”并不是为多个输入定义的


有人能帮我吗??当然,这一定很愚蠢,但我在网上找不到一个例子。

格式输入应该是字符串:

sprintf('%s = %.4f', n7, n8)

也许有更优雅的方法可以做到这一点,但简单的方法是:

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

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

???使用==>sprintf函数时出错未为“sym”输入定义。181 sprintf('%s=%.4f',n7,n8)处的==>syscalcPS出错我使用'num2str'将变量转换为字符串,但它不起作用在调用sprintf之前在循环中使用
n7=char(U1(l1))
。您不应该让读者猜测您使用的变量类型。在命令行中发布通过显示变量获得的输出不足以生成最小的工作示例。很抱歉,时间太晚了,我可能错过了一些给我带来6个错误的要点,第一个错误是:???在2547处使用==>sym.sym>convertExpression时出错错误:意外的“”[第1行,第1列]