| 查看: 605 | 回复: 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不等,差距很大,公式又有乘除运算,可能导致浮点计算误差很大。 所以想请教各位大佬,有什么办法可以提高运算精度,或者修改算式回避这个问题,再或者有没有擅长应力理论的大佬,发现是其他问题导致的结果错误。 谢谢谢谢! ![]() ![]() |
» 猜你喜欢
投稿chemical physical letters不送审?
已经有2人回复
南开大学物理学院张书辉副教授招收凝聚态物理理论方向博士生、硕士生
已经有22人回复
物理学I论文润色/翻译怎么收费?
已经有269人回复
杂志要求提供official language-editing certificate
已经有4人回复
深圳大学2026年秋博士招生-物理学-活性胶体方向-高永祥课题组
已经有16人回复
论物质与能量的统一模型及物理现象解释
已经有0人回复
基于基元I统一理论的数学相关应用推导
已经有0人回复
基元I统一理论:宇宙本质、层级演化与修炼文明的本源规律
已经有1人回复
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
基于基元I统一理论的量子力学本源推导
已经有0人回复
LG_Maxwell
金虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 1230.6
- 散金: 704
- 沙发: 1
- 帖子: 1014
- 在线: 37小时
- 虫号: 22140562
- 注册: 2020-05-15
- 性别: GG
- 专业: 光学
2楼2020-06-08 11:30:33














回复此楼