| 查看: 638 | 回复: 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不等,差距很大,公式又有乘除运算,可能导致浮点计算误差很大。 所以想请教各位大佬,有什么办法可以提高运算精度,或者修改算式回避这个问题,再或者有没有擅长应力理论的大佬,发现是其他问题导致的结果错误。 谢谢谢谢! ![]() ![]() |
» 猜你喜欢
重庆交大26年硕士生招生拟调剂通知已出!欢迎加入光子学微结构与器件课题组。
已经有0人回复
UJN物理学专业调剂
已经有12人回复
物理学I论文润色/翻译怎么收费?
已经有78人回复
北京纳米能源与系统研究所王中林院士/曹南颖研究员课题组招收2026硕士研究生1名
已经有0人回复
山西大同大学物理学硕士研究生招收调剂生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
一志愿物理所凝聚态物理352求调剂
已经有0人回复
0702一志愿吉大B区求调剂 本科期间发表一篇Sci
已经有1人回复
LG_Maxwell
金虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 1230.6
- 散金: 704
- 沙发: 1
- 帖子: 1014
- 在线: 37小时
- 虫号: 22140562
- 注册: 2020-05-15
- 性别: GG
- 专业: 光学
2楼2020-06-08 11:30:33















回复此楼