Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
试图打印比较列以比较具有两个或三个不同向量的相同索引的元素。我将在下一个示例中说明我的问题
>> 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的值的原因。 更多&回答... |
![]() |
![]() |