查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB:打印来自不同向量的元素的比较列

试图打印比较列以比较具有两个或三个不同向量的相同索引的元素。我将在下一个示例中说明我的问题

>> a = [5.47758 7.46578 3.45323] a = 5.4776 7.4658 3.4532 >> b = [5.65432 4.45678 2.34789] b = 5.6543 4.4568 2.3479 现在如果我写

>> sprintf('%.2f %.2f\n',a, b) 我从Matlab得到以下回应

ans = 5.48 7.47 3.45 5.65 4.46 2.35` 但是我希望看到这种价值表现的方式是

ans = 5.48 5.65 7.47 4.46 3.45 2.35 如何使用函数sprintf(或其他函数或方式)获取上述表示形式?谢谢。



回答:

您可以通过 a和b 连接到一个2×3矩阵输入参数中来解决此问题:

>> sprintf('%.2f %.2f\n',[a; b]) ans = 5.48 5.65 7.47 4.46 3.45 2.35 所述的sprintf功能的工作原理是在它们被输入的顺序反复重新使用格式化字符串作为遍历(在列顺序)的每个的输入参数中的元素。这就是为什么在您的示例中, a打印a所有值, 然后打印b所有值,而不是交织a和b的值的原因。



更多&回答...
poster 当前离线   回复时引用此帖