您的位置:

matlab fprintf 函数全解析

一、matlab fprintf 输出小数


% matlab中可以使用fprintf函数输出小数
a = 3.14159;
fprintf("a=%.2f\n",a);

在上面的代码中,将a的值赋为3.14159,使用fprintf函数,格式控制字符串"%.2f"指定输出格式为保留2位小数的浮点型,使用\n控制输出后换行,得到输出结果:


a=3.14

如果要输出多个小数,也可以使用类似的方法:


b = 1.23456789;
c = 9876.54321;
fprintf("b=%.2f, c=%.2f\n",b,c);

输出结果如下:


b=1.23, c=9876.54

这样就可以方便地控制小数的输出了。

二、matlab fprintf 输出数组

要输出数组,可以使用类似的方法,在格式控制字符串中使用%d或%f指定输出格式,然后在后面列出数组的各个元素即可。


d = [1 2 3; 4 5 6; 7 8 9];
fprintf("%d %d %d\n",d(1,:));
fprintf("%d %d %d\n",d(2,:));
fprintf("%d %d %d\n",d(3,:));

输出结果如下:


1 2 3
4 5 6
7 8 9

这样就可以输出一个二维数组的各个行。

三、matlab fprintf 输出多个值

有时候需要同时输出多个变量的值,可以使用逗号隔开各个变量:


a = 1;
b = 2;
c = 3;
fprintf("a=%d, b=%d, c=%d\n",a,b,c);

输出结果如下:


a=1, b=2, c=3

这样就可以方便地输出多个变量的值了。

四、matlab fprintf 函数保留小数

在上面的例子中,我们使用了字符串格式化来输出小数,但是这种方法有一个很明显的问题,每次都需要手动指定保留的小数位数,非常不方便。幸好,matlab提供了更好的方法。

可以使用matlab提供的format命令来控制小数的保留位数,在使用fprintf输出时就会自动按照指定格式输出:


format short; % 保留5位小数
a = pi;
fprintf("%f\n",a);

输出结果:


3.14159

注意,format默认为short,也就是保留5位小数。

五、matlab 中 fprintf 函数的使用

下面是一个简单的例子,展示如何在matlab中使用fprintf函数。


% 定义一个结构体数组
student(1).name = "Tom";
student(1).age = 18;
student(2).name = "Jerry";
student(2).age = 17;

% 循环输出每个学生的信息
for i = 1:length(student)
   fprintf("Name: %s, Age: %d\n",student(i).name,student(i).age);
end

输出结果:


Name: Tom, Age: 18
Name: Jerry, Age: 17

六、matlab 输出语句 fprintf

matlab中还可以使用disp和fprintf函数输出内容,它们的区别在于输出格式。disp函数直接将内容输出到控制台,而fprintf函数可以使用格式化字符串控制输出内容的格式。

七、matlab fprintf 用法

fprintf函数的用法非常灵活,可以输出各种类型的数据。例如,可以将数据输出到文件中:


fid = fopen("output.txt","w");
fprintf(fid,"Hello World!\n");
fclose(fid);

以上代码将字符串"Hello World!\n"输出到了一个名为output.txt的文件中。

八、matlab figure 和 subplot

在matlab中,可以使用figure命令创建一个新的图像窗口,然后在这个窗口中作图或者输出图像。


figure;
x = linspace(0,10,100);
y1 = sin(x);
y2 = cos(x);
subplot(1,2,1); % 将窗口分成1行2列,第一个子图
plot(x,y1,"r");
title("Sin");
xlabel("x");
ylabel("y");
subplot(1,2,2); % 将窗口分成1行2列,第二个子图
plot(x,y2,"b");
title("Cos");
xlabel("x");
ylabel("y");

以上代码创建了一个新的窗口,将窗口分为一行两列,描绘了正弦函数和余弦函数的图像。