Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-03-20, 07:40   #1
jinxuejun00
初级会员
 
注册日期: 2009-03-12
年龄: 37
帖子: 3
声望力: 0
jinxuejun00 正向着好的方向发展
默认 [求助]怎么用matlab画莫尔圆

有俩个点A(1,1,1)和B(4,3,2)组成的直线。 把它在x轴上逆时针转30°,再y轴上旋转60°。 相同的过程把顺序颠倒过来比较俩个最终坐标!!


怎么用matlab画莫尔圆啊?? 求助啊!!!
输入x,y,T的值结果也会相应的变化!!
请各位帮帮忙!! 我是菜鸟不会解!! 
谢谢啦!!!!
jinxuejun00 当前离线   回复时引用此帖
旧 2009-03-24, 11:01   #2
云龙九现
初级会员
 
注册日期: 2009-03-20
年龄: 42
帖子: 26
声望力: 17
云龙九现 正向着好的方向发展
默认 回复: [求助]怎么用matlab画莫尔圆

刚才在网站上查了一下什么是莫尔圆
莫尔圆是由如下两个公式决定的圆,有点类似于极坐标系下面的圆方程。其中一个是正应力,一个是剪应力。应该属于力学范畴,具体公式如下:
x=0.5*(x1+x2)-0.5*(x1-x2)*cos(2*theta);
y=0.5*(x1-x2)*sin(2*theta);
变量说明:x为正应力,y为剪应力,x1,x2为已知的正应力坐标轴上的点(预先选定的x1>x2),2*theta为莫尔圆上一点与圆心的连线和坐标轴的夹角。莫尔圆的圆心为(0.5*(x1+x2),0).半径为0.5*(x1-x2).
有了这个公式,我们就可以编程了
x1=6,x2=4; %设定初值,可以任意设定,但注意,x1要大于x2,否则就应该给半径加绝对值
theta=0i/180:2*pi; %每隔一弧度,取一个theta值。
x=0.5*(x1+x2)-0.5*(x1-x2)*cos(2*theta);
y=0.5*(x1-x2)*sin(2*theta);
plot(x,y,'r.');
这样,就绘制了一个圆心在(5,0),半径为1的莫尔圆。只要我们选定任何的theta值,就可以知道对应点的正应力和剪应力了。

关于你的第一个问题:
直线旋转,希望你能表述清楚一些,什么叫做在x轴上逆时针旋转30度,什么叫在y轴上顺时针旋转60度,是不是向着x轴的方向旋转30度,然后又向着y轴方向旋转60度的意思?还是先投影到x轴,然后旋转,然后再投影到y轴,然后再旋转。希望你能够把问题说清楚一些,这样,我也好帮你啊!
:smile: :lol:
云龙九现 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:11


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.