如何让一个线性回归一个excel文件吗

12个视图(30天)
尼克·伊莱亚斯
尼克·伊莱亚斯 2021年3月15日
编辑: 里克 2021年3月23日
你好,
这个问题与材料力学如果有人可以帮助你。我有一个excel文件(大,102 k行)有三列:循环计数,力和压力。
数据是在一个8赫兹的频率(8点/秒,每个循环计数持续大约40行),我需要编写代码来找出两个点在每个周期(一个在增加部分的循环,减少的其他部分)应变之间的关系和力量变得不再线性(即R ^ 2小于95%),材料的弹性极限。基本上的输出将是一个矩阵的行数等于数量的周期和三个列:循环计数、最大弹性极限,最小弹性极限。
谢谢你的任何东西!
4评论
尼克·伊莱亚斯
尼克·伊莱亚斯 2021年3月15日
我不知道如何着手,在Matlab中,基本上数组大小不一样的每一周期我必须跟踪应变的绝对值和计算一组数据点的相关性,直到应变变化趋势方向。

登录置评。

答案(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。”)
0.0109 -0.0084 0.0060 -0.0093 0.0070 -0.0098南
函数elasticlimit = find_elasticlimit(力、应变、刺)
%写一个解释什么这个函数。
如果输入参数个数< 3,用力推= 0.99;结束%设置默认
发现= false;
N = 2:元素个数(应变)
R = corrcoef(应变(1:N),部队(1:N));
R = R (2);
如果R <刺,发现= true;打破,结束
结束
如果发现
elasticlimit =应变(n - 1);
其他的
%或错误返回一个错误条件
%你应该决定什么是合适的
elasticlimit =南;
结束
结束
27日评论
里克
里克 2021年3月23日
编辑:里克 2021年3月23日
和我的答案都会有点孩子气。
你需要使用第二个最小的输出。第二个输出包含指标。您可以使用这些指数在您所使用的原始矢量最小值,或另一个向量。
v1 = (9 0 6);
v2 = (2 4 6);
[val,印第安纳州]= min (v1)
val = 0
印第安纳州= 2
v2(印第安纳州)
ans = 4

登录置评。

类别

找到更多的在创建和连接矩阵帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!