24小时热门版块排行榜    

查看: 5976  |  回复: 22
【奖励】 本帖被评价6次,作者cpu3012增加金币 4.8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cpu3012

铁杆木虫 (小有名气)


[资源] 一种简单已用的热加工图画法

想必很多研究工作者在得到了热压缩模拟实验的真应力应变曲线后,想计算并绘制出热加工图,但是具体的操作步骤又不是那么轻松吧!分享给大家一种直接由温度、ln应变速率、对应应变量的应力值三者直接计算并绘制出的热加工图的方法!如下:

Matlab平台的具体计算程序
应变量为0.5时的案例

clc;clear;
X=[600,660,730,775,860,980]        %X轴,温度
Y=[-3,-2,-1,0,1,1.70]        %Y轴,log应变速率
Z=[108.3,78.5,57.1,36.1,24.3,10.9,
152.4,112.9,71.7,48.8,35.4,11.4,
184.9,154.4,112.9,77.8,52.6,15.2,
239.4,215.4,152.0,107.6,67.6,34.7,
269.8,249.1,221.7,178.3,110.1,61.8,
280.5,264.1,247.1,211.8,112.6,89.7]                %X列,Y行
Zlog=log10(Z)        %log应力
i=50        %设置插值矩阵的行数
j=50        %设置插值矩阵的列数
Xi=(600: (980-600)/(j-1):980)        %赋值给X插值点
Ylogi=(-3: (1.70-(-3))/(i-1):1.70)        %赋值给Y插值点
Yi=10.^Ylogi        %应变速率的插值向量,10的Ylogi元素次方
Zlogi=interp2(X,Y,Zlog,Xi,Ylogi','spline')        %用spline方法插值(log应力)矩阵
Zi=interp2(X,Y,Z,Xi,Ylogi','spline')         %用spline方法插值应力矩阵
[Fx,M]=gradient(Zlogi,1,(1.70-(-3))/(i-1))         %计算log力/log速率=M。如果F是二维矩阵,返回F的二维数值梯度。[FX,FY]=gradient(F,HX,HY)。HX,HY参数表示各方向相邻两点的距离。
S=cumtrapz(Yi,Zi)         %通过递归循环计算积分,计算累积梯形积分,应力在log应变速率上的点积分
P=zeros(i,j)         %设置全0矩阵
Es=-3        %赋值log应变速率最小值
Smin=Zi(1,: ).*10^Es./(M(1,: )+1)         %计算应变速率最小时的第一项定值,(3,: )代表第三行,所有的列。(:,3)代表所有行,第三列。(:,1,1)代表所有第一维,第二维和第三维的第一个元素。
for n=1:j
G(:,n)=S(:,n)+Smin(n)         %每项的累积积分值加上最小值-G值
P(:,n)=Zi(:,n).*Yi(: )         %每项应力和应变速率的乘积-P值
end
eta=2*(1-G./P)*100         %计算η值矩阵
ksai=2*M./(eta/100)-1         %计算ζ值矩阵

contour(Xi,Ylogi,eta)           %η二维图,contour(Xi,Ylogi,eta,10) ,10表示10根等高线,不加10表示自动
surf(Xi,Ylogi,eta)        %η三维图,三维图容易造成Matlab死机

附带告诉大家一些Matlab常用的命令,可以用到的
hold on命令保持当前图形,并将此后绘制的所有图形添加到当前的图形窗口中,如果新的曲线所对应的坐标极限值与原图不一致,系统将自动进行调整。
hold off取消hold on的效果,hold命令在hold on与hold off之间切换。
cabel 使用等值矩阵生产标注,并将标注显示在当前图形
contour显示矩阵Z的二维等高线图
contour3显示矩阵Z的三维等高线图
contourf显示矩阵Z的二维等高线图,并在各等高线之间用实体颜色填充
contourc用于计算由其他等高线函数调用的等值矩阵
meshc创建一个与二维等高线图匹配的网线图
surfc创建一个与二维等高线图匹配的曲面图

阴影fill函数
clc; clear all; close all;
figure; box on; hold on;
contour(peaks(20),10);
fill([1:2:20 20:-2:1], [repmat(18, 1, 10) repmat(20, 1, 10)], 'r');

[ Last edited by cpu3012 on 2011-9-25 at 16:07 ]

由于很久脱离科研,很久没来未来小木虫,看到有些童鞋在楼下回复怎么弄出阴影。
本人回忆下仅存的一些记忆,当初是用了hold on这个命令,然后图阴影叠加上去的,也就是说两个图叠加的。

[ Last edited by cpu3012 on 2015-8-31 at 10:49 ]
回复此楼

» 收录本帖的淘帖专辑推荐

软件与教程 科研工具资源Nick 资源收集 金属材料科研工具
加工图 模拟仿真技术贴 博士后 热加工图

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

doooope

新虫 (小有名气)


22楼2018-05-25 10:13:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 23 个回答

tongsan

铁杆木虫 (正式写手)


★★★★★ 五星级,优秀推荐

不错,但是现在怎么在等值线上显示标注呢?怎么又把η和ζ的两个等值图合起来呢??
2楼2012-01-10 14:45:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cpu3012

铁杆木虫 (小有名气)


引用回帖:
2楼: Originally posted by tongsan at 2012-01-10 14:45:12:
不错,但是现在怎么在等值线上显示标注呢?怎么又把η和ζ的两个等值图合起来呢??

hold on合图,设定等值线条数n,即可出来值,希望能够帮助到你
3楼2012-02-25 19:58:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cpu3012

铁杆木虫 (小有名气)


引用回帖:
2楼: Originally posted by tongsan at 2012-01-10 14:45:12
不错,但是现在怎么在等值线上显示标注呢?怎么又把η和ζ的两个等值图合起来呢??

画出η的等值图后,hold on,再画ζ的等值图,标注可右键点击等值线进行调用
4楼2013-06-22 09:05:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见