首页/文章/ 详情

处理和绘制拉伸实验的数据

3月前浏览5786

本文摘要(由AI生成):

文章主要介绍了低碳钢拉伸实验的数据处理和绘制过程。首先,通过拉伸实验可以建立重要的力学概念,并处理实验数据绘制应力应变曲线,这是力学专业学生的必备技能。实验中使用标准拉伸试件和试验机,测量拉力和应变,得到应力极限、弹性模量、屈服极限、强度极限等力学量。常规试验机软件可以实时绘制应力应变曲线,并提供简单分析功能。然而,为了撰写文章或报告,需要使用专业绘图软件如MATLAB来处理数据并绘制更美观、规范的曲线图。文章还详细介绍了使用MATLAB绘制包含局部放大图、标注关键力学量和拟合弹性模量的应力应变曲线的具体步骤和方法。


   低碳钢的拉伸实验是材料力学中最先接触的一个实验,这个实验虽然简单,却可以帮助初学者建立许多重要的力学概念。拉伸实验也是力学测试中最常做的一个实验,能够处理拉伸实验的数据并将其绘制成曲线,是力学专业学生的必备本领。 


13.1  拉伸实验数据处理概述 

    做拉伸实验时,将图 13-1 所示的低碳钢标准拉伸试件,夹持在图 13-2 所示的试验机的拉伸夹头上并对其施加拉力,用载荷传感器测量施加的拉力,用引伸计测量试件的应变。整个实验场景如图 13-3 所示。 

image.png

 图 13-1  标准拉伸试件 

image.png

图 13-2  拉伸试件加持在两个夹头中间

image.png

 图 13-3  拉伸试验场景 

    拉伸实验最主要的实验数据是应力极限、弹性模量、屈服极限、强度极限等力学量,还可观察屈服、强化等变形阶段的行为。 目前常规的试验机控制软件一般会实时绘制应力应变曲线 (图 13-4) ,有的甚至还提供简单的分析功能,如拟合弹性模量等。 

image.png

图 13-4  试验机软件得到的应力

    但是,直接用上述曲线图撰写文章或报告基本是不可行的。首先,与专业绘图软件作出的图相比,这些曲线图是不够美观的(如图 13-4 和图 13-5 的对比) ,且其标注等常不符合规范;其次,如果想往这类图中加一些素材,如加入某部分的放大曲线等是不可能的;最后,要想在报告或文章中利用这类图,只能通过拷屏生成位图,而用位图表达的曲线,其印刷质量一般比较差。鉴于上述原因,有必要掌握分析实验数据并绘制曲线的技能。一般的试验机软件均提供数据导出功能,用 MATLAB 完全可以达到上述目的。 下一节针对一个具体的实验,介绍用 MATLAB 处理并绘制实验曲线的具体过程。 


13.2  低碳钢拉伸实验数据处理及绘制 

13.2.1  目标及要求 

    本部分数据处理针对低碳钢拉伸实验进行,其目标是利用试件机导出的数据文件绘制一个如图 13-5 所示的曲线图。仔细观察这个曲线图,可以发现三个主要特点:首先,曲线的标注明晰且丰富,除了标注必要的坐标信息外,材料的屈服、强度极限等均标注在合适的位置;其次,在曲线图的空白位置嵌入了一个局部放大图,更清楚地显示了弹性变形阶段和屈服初期试件的变形;最后,用拟合的方法计算出了材料的弹性模量,并标注在曲线上。 

image.png

图 13-5  最终的应力

    这样的图,信息量非常丰富,且合理利用了空间,显不出拥挤,因此是文章或报告中常用的图。要绘制这样的图,必须用带有数据处理功能的绘图软件。 


    下面介绍如何用 MATLAB 实现图 13-5 的绘制。 

13.2.2  具体实现过程 

(1) 读取数据 

读取“应力应变数据.txt”文件中的应力应变数据,将其赋值给变量 stress 和strain。 

(2) 绘制整体应力

绘制整体应力-应力曲线,标注 x, y 轴的名称、字体,结果如图 13-6 所示。 

image.png

图 13-6  绘制整体应力

(3) 计算强度极限并标记在曲线上 

    使用 max 函数找到应力最大值点的应力(强度极限)和对应的应变,将其绘制在曲线上。 使用 text 函数和 annotation 函数标注数值。 中间曲线如图 13-7 所示。

 下面对上述两个用于标注的命令做简单的介绍。 

句法 

    text(x,y,'string') 

说明 

    text 函数可以在坐标轴中创建一个文本框。 

    x,y:文本框的位置。 

    string:欲输入的文本框的内容。 

 

句法 

    annotation('arrow',x,y) 

说明 

    annotation 函数可以在坐标轴中创建一个箭头对象。 

    x,y:文本框的位置。 

image.png

图 13-7  在曲线上标注出强度极限后的结果图 

(4) 选取应力-应变曲线的线性段数据并放大显示 

    建立一个新的坐标轴并设定其位置, 选取应力-应变曲线的线性段数据, 将其显示在新的坐标轴中,同时还可以将该段的应力最大值(比例极限)和对应应变值找出并进行标注,如图 13-8 所示。 

(5) 拟合 

    拟合所得数据得到材料的弹性模量,将此数值标注在曲线旁。同时还可以将拟合数据绘制在曲线中与原始数据对比。另外,还可以计算线性段数据的线性相关系数,同样也可以标注在曲线旁,最终的曲线如图 13-5 所示。下面对用于拟合polyfit 命令的用法做简单的介绍。 

image.png

图 13-8  添加放大显示后的曲线图 

句法 

    p = polyfit(x,y,n)   

说明 

    polyfit 函数可以对两数据进行多项式拟合。 

    x,y:欲拟合的数据。 

    n:多项式的阶次。  

    实现低碳钢拉伸实验数据处理及绘制的具体程序范例如下。 

%==================================================================% 
%% LowCarbonResultPlot.m 
%% 本程序用于绘制一条标注明晰,含有局部放大图的低碳钢拉伸应力-应变曲线 
%==================================================================% 
close all 
clear all 
clc 
%% 读取数据 
data = load('应力应变数据.txt','-ascii'); % 读取数据 
stress = data(:,1); 
strain = data(:,2); 
%% 绘制整体曲线 
figure 
plot(strain,stress,'k','linewidth',5) % 绘制应力-应变曲线 
xlabel('应变','fontsize',18) % 设置 x 轴名称 
ylabel('应力(MPa)','fontsize',18) % 设置 y 轴名称 
set(gca,'xlim',[0 0.43]) % 设置 x 轴显示范围
set(gca,'fontsize',18) % 设置坐标轴显示字体 
hold on 
% 标注强度极限 
sigmaB = max(stress); % 读取强度极限点的应力值 
strain_sigmaB = strain(stress==sigmaB); % 读取强度极限点的应变值 
plot(strain_sigmaB,sigmaB,'o','markersize',10,'markeredgecolor','k',
'markerfacecolor','r','linewidth',2) % 在应力-应变曲线上绘制强度极限点 
s1 = strcat('\sigma_{b}=',int2str(sigmaB),'MPa'); % 生成强度极限标注字符串 
text(0.25,375,s1,'fontsize',18) % 以文本框方式标注强度极限值  
annotation('arrow', [0.62 0.60],[0.76 0.81]); % 绘制指向箭头  
%% 放大绘制局部曲线 
strain_E = 1e6*strain(strain<0.031); % 从整体应变数据中选取线性段的应变数据 
stress_E = stress(strain<0.031); % 从整体应力数据中选取线性段的应力数据 
rectangle('position',[0 0 0.05 400],'edgecolor','m') %标注用于放大的区域 
annotation('arrow',[0.23 0.36],[0.46 0.56],'color','m'); % 绘制指向箭头  
h = axes('position',[0.42 0.25 0.35 0.35]);  
% 生成一个新的坐标轴用于绘制放大的曲线 
plot(strain_E,stress_E,'k','linewidth',2)  
% 在新的坐标轴里绘制线性段应力-应变曲线 
xlabel('应变(με)','fontsize',10) % 设置 x 轴名称 
ylabel('应力(MPa)','fontsize',10) % 设置 y 轴名称 
set(gca,'fontsize',10) % 设置坐标轴显示字体 
set(h,'xlim',[0 0.005e6]) % 设置 x 轴显示范围 
% 标注比例极限 
sigmaP = max(stress_E); % 读取比例极限点的应力值
strain_sigmaP = strain_E(stress_E==sigmaP); % 读取比例极限点的应变值 
plot(strain_sigmaP,sigmaP,'o','markersize',7,'markeredgecolor','k','
markerfacecolor','b','linewidth',2) % 在应力-应变曲线上绘制比例极限点 
s2 = strcat('\sigma_{p}=',int2str(sigmaP),'MPa'); % 生成比例极限标注字符串 
text(2300,350,s2,'fontsize',14); % 以文本框方式标注比例极限值 
% 拟合计算线性段弹性模量并标注在曲线上 
E = polyfit(strain_E(strain_E<1000),stress_E(strain_E<1000),1);  
% 拟合线性段数据 
stress_E_N = polyval(E,strain_E); % 使用拟合参数计算新的应力 
plot(strain_E,stress_E_N,'m','linewidth',1) 
set(h,'ylim',[0 400]) % 设置 x 轴显示范围
s1 = strcat('E=',int2str(E(1)),'GPa'); % 生成标注字符串 
corrC=corrC(strain_E(strain_E<1000),stress_E(strain_E<1000));  
% 计算线性相关系数 
s2 = strcat('Corr=',num2str(corrC(1,2))); % 生成标注字符串 
text(2500,250,s1,'fontsize',14); % 以文本框方式标注弹性模量值  
text(2000,50,s2,'fontsize',14); % 以文本框方式标注弹性模量值




结构基础静力学代码&命令MATLAB理论科普仿真体系
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-07-13
最近编辑:3月前
过冷水
博士 | 讲师 讨论号:927550334
获赞 359粉丝 183文章 107课程 11
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈