24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1825  |  回复: 4

vivienmama

铜虫 (小有名气)

[求助] matlab画热加工图遇到的小问题

最近在用matlab画热加工图,遇到如下问题,请大侠们来帮忙!
(1)功率耗散功率等高图上的值 怎么让它只显示小数点后两位?
(2)热加工失稳图怎样把小于0的设置为阴影?

附件:


clc;clear;
X=[900,1050,1200]        %X轴,温度
Y=[-3,-1,1]        %Y轴,log应变速率
Z=[90.49,39.2,12.44,
196.36,96.3,48,
241.92,154.71,85.18]                %X列,Y行
Zlog=log10(Z)        %log应力
i=50        %设置插值矩阵的行数
j=50        %设置插值矩阵的列数
Xi=(900: (1200-900)/(j-1):1200)        %赋值给X插值点
Ylogi=(-3: (1-(-3))/(i-1):1)        %赋值给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-(-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         %计算ζ值矩阵
[C,h] =contour(Xi,Ylogi,eta,20)           %η二维图,contour(Xi,Ylogi,eta,10) ,10表示10根等高线,不加10表示自动
clabel(C,h)

1.jpg
111.jpg



[ Last edited by vivienmama on 2013-1-22 at 22:20 ]
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : untitled1.fig
  • 2013-01-22 22:17:44, 41 K

» 猜你喜欢

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

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

yuhuidavid

木虫 (著名写手)

【答案】应助回帖


Zpffpz: 金币+1, 专家考核, 好建议 2013-01-30 15:38:38
改用origin,很容易的说~!
狭路相逢勇者胜!
2楼2013-01-30 12:08:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomuchong916

木虫 (著名写手)

画出等于零的等值线,再采用fill填充即可。把等值线的handle先通过str2num转化,再通过sprintf设置有效数字位数,再以string显示即可。

[ 发自手机版 http://muchong.com/3g ]

» 本帖已获得的红花(最新10朵)

3楼2013-01-30 21:39:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomuchong916

木虫 (著名写手)

【答案】应助回帖

画出等于零的等值线,再采用fill填充即可。把等值线的handle先通过str2num转化,再通过sprintf设置有效数字位数,再以string显示即可。

[ 发自手机版 http://muchong.com/3g ]
4楼2013-01-30 21:39:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vivienmama

铜虫 (小有名气)

送鲜花一朵
引用回帖:
3楼: Originally posted by xiaomuchong916 at 2013-01-30 21:39:13
画出等于零的等值线,再采用fill填充即可。把等值线的handle先通过str2num转化,再通过sprintf设置有效数字位数,再以string显示即可。

谢谢呀!
不过我matlab基础很差,上面的程序是参考别人论文的。
小女子时间有限,不能深入学习matlab
求大侠把这些改成具体的语句吧,相信这对你来说 很容易!
,,,
5楼2013-02-26 17:23:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 vivienmama 的主题更新
信息提示
请填处理意见