怎样用MATLAB像C语言那样用printf输出变量的值

如题所述

在MATLAB中,可以使用sprintf来格式化输出变量。

MATLAB的sprintf用法几乎和C中的printf一样,参数都是printf(FORMAT,A,...),MATLAB的sprintf会返回一个字符串,当不使用分号;时,可以直接在屏幕输出。

MATLAB的sprintf语法为[s, errmsg] = sprintf(format, A, ...),可以把矩阵A做数据格式的转换,格式就是format参数。

例子:

Str = [65 66 67 pi];

sprintf('%s %f', Str)

可得:

ans =

ABC 3.141593

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-04

    在MATLAB中,可以使用sprintf来格式化输出变量。

    MATLAB的sprintf用法几乎和C中的printf一样,参数都是printf(FORMAT,A,...)

    MATLAB的sprintf会返回一个字符串,当不使用分号;时,可以直接在屏幕输出。

    MATLAB的sprintf语法为[s, errmsg] = sprintf(format, A, ...)
    可以把矩阵A做数据格式的转换,格式就是format参数。
    例子:
    Str = [65 66 67 pi];
       sprintf('%s %f', Str)
    可得:
       ans =
       ABC 3.141593


第2个回答  2012-08-23
fprintf(格式控制,变量)追问

能否举个具体例子,谢谢

追答

这是我给别人的一段小代码,你看看吧。
A=[1 2 3 4 5 6 8 9 3 4 7 9];
n=length(A);
for i=1:n
for j=i+1:n
if (A(i)==A(j)) fprintf('第%d个和',i) ; fprintf('第%d个相同',j) ;fprintf('值为%d:\n',A(i));
end
end
end

本回答被提问者采纳
第3个回答  2012-08-23
matlab也有类似命令: fprintf
具体看帮助或百度一下吧
相似回答