如何让一个线性回归一个excel文件吗
12个视图(30天)
显示旧的评论
你好,
这个问题与材料力学如果有人可以帮助你。我有一个excel文件(大,102 k行)有三列:循环计数,力和压力。
数据是在一个8赫兹的频率(8点/秒,每个循环计数持续大约40行),我需要编写代码来找出两个点在每个周期(一个在增加部分的循环,减少的其他部分)应变之间的关系和力量变得不再线性(即R ^ 2小于95%),材料的弹性极限。基本上的输出将是一个矩阵的行数等于数量的周期和三个列:循环计数、最大弹性极限,最小弹性极限。
谢谢你的任何东西!
答案(1)
里克
2021年3月15日
编辑:里克
2021年3月18日
您可以使用
独特的
函数和一个循环。
(包括编辑自定义函数中提取特定应变值)
数据= xlsread (“样本Data.xlsx”);
数=数据(:1);
应变=数据(:,2);
力=数据(:,3);
unique_counts =独特(数);
elasticlimit = 0(大小(unique_counts));
meanstrain = 0(大小(unique_counts));
为n = 1:元素个数(unique_counts)
c = unique_counts (n);
行= ismember(计数、c);
strain_ =应变(行);
force_ =力(行);
%现在你有压力和力为一个特定的周期
%这里你可以做你所需要的处理
elasticlimit (n) = find_elasticlimit (force_ strain_);
%你也可以使用简单的函数,比如意味着():
meanstrain (n) =意味着(strain_);
结束
disp (elasticlimit。”)
函数elasticlimit = find_elasticlimit(力、应变、刺)
%写一个解释什么这个函数。
如果输入参数个数< 3,用力推= 0.99;结束%设置默认
发现= false;
为N = 2:元素个数(应变)
R = corrcoef(应变(1:N),部队(1:N));
R = R (2);
如果R <刺,发现= true;打破,结束
结束
如果发现
elasticlimit =应变(n - 1);
其他的
%或错误返回一个错误条件
%你应该决定什么是合适的
elasticlimit =南;
结束
结束