| 查看: 596 | 回复: 1 | |||
LG_Maxwell金虫 (著名写手)
|
[交流]
关于matlab计算精度的问题
|
|
我想由已知的点应力矩阵,计算出三个主应力和主方向,理论很成熟就是代公式即可,但是结果上出现了问题,怀疑为计算精度问题,具体如下: 计算主应力: for i=1:1:r T{i}=[xx(i),xy(i),zx(i);xy(i),yy(i),yz(i);zx(i),yz(i),zz(i)]; [~,principalstress{i}]=eig(T{i}); p1(i)=principalstress{i}(1,1); p2(i)=principalstress{i}(2,2); p3(i)=principalstress{i}(3,3); end 计算主方向:(以主应力1为例) l1=1; m1=l1*(zx*xy-yz*(xx-p1))/(xy*yz-zx*(yy-p1)); n1=l1*((xx-p1)*(yy-p1)-xy*xy)/(xy*yz-zx*(yy-p1)); abcd1=sqrt(l1^2+m1^2+n1^2);%归一化 l1=l1/abcd1; m1=m1/abcd1; n1=n1/abcd1; 这套方法计算文献算例也好,自己随便输入的点应力矩阵(类似[1,2,3;2,4,5;3,5,6]这种)也好,都没问题;但是计算我的实验数据时得到的主应力还算合理,得到的主方向问题很大,即三个方向矢量点乘的结果完全不能认为是0,这不符合物理规律。 怀疑是程序计算精度不足导致的,因为实验测得的点应力,六个分量之间数量级从e-4到e-12不等,差距很大,公式又有乘除运算,可能导致浮点计算误差很大。 所以想请教各位大佬,有什么办法可以提高运算精度,或者修改算式回避这个问题,再或者有没有擅长应力理论的大佬,发现是其他问题导致的结果错误。 谢谢谢谢! ![]() ![]() |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有218人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
LG_Maxwell
金虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 1225.6
- 散金: 704
- 沙发: 1
- 帖子: 1013
- 在线: 37小时
- 虫号: 22140562
- 注册: 2020-05-15
- 性别: GG
- 专业: 光学
2楼2020-06-08 11:30:33













回复此楼