如何使用polyfit函数

8视图(30天)
莎拉·希克斯
莎拉·希克斯 2018年11月12日
编辑: 明星黾 2018年11月12日
n = csvread (“loadextension.csv”3 0);
l = n (: 1);%这是毫米的扩展
力= n (:, 2);% N这是力量
% B部分
面积= 6.1 * 50;%在毫米
压力= force. /区域;% N /毫米
应变= 50 l . /;
情节(应变、压力)
包含(“应变”)
ylabel (“压力”)
% c部分
%第一部分
x =应变= = linspace (0, 10);
y = = = linspace压力(0,10);
z = polyfit (x, y, 4)%的代码
结束
我想估计一个多项式的线性部分,当我使用这个polyfit函数时,我得到一个错误。有人能帮吗?

答案(2)

madhan拉维
madhan拉维 2018年11月12日
x = linspace (0, 10);
y = linspace (0, 10);
z = polyfit (x, y, 4)
12个评论

登录置评。


明星黾
明星黾 2018年11月12日
没有你的文件,很难提供具体的代码。
然而,这些线:
x =应变= = linspace (0, 10);
y = = = linspace压力(0,10);
会产生逻辑向量,由于没有保证比任何吗 “压力” “应变” 数据将 完全 匹配的值 linspace 调用产生, “x” “y” 可以统一为零。
一个更好的选择可能是:
x = ismembertol(应变、linspace (0, 10), 0.01);
y = ismembertol(压力、linspace (0, 10), 0.01);
和:
z = polyfit(应变(x)、压力(y), 4)%的代码
虽然相同的两个向量的元素必须返回,所以对应的元素和向量长度相等。
2的评论
明星黾
明星黾 2018年11月12日
编辑:明星黾 2018年11月12日
你必须选择 要么 “x” “y” 这两个 你的 “压力” “应变” 向量。
,或找到的另一种方式选择,例如:
x =(应变> = 0)&(应变< = 0.27);
y =压力(压力> = 0)& (< = 0.27);
或者其他适用于您的数据。
你还需要选择其中一个 “x” “y” 逻辑向量 这两个 你的 “压力” “应变” 如果他们不向量 完全 匹配。
编辑 1 - 我只会做一个线性近似的地区。的斜率线性适应 3.466
n = xlsread (“LoadExtension.csv”);
l = n (: 1);%这是毫米的扩展
力= n (:, 2);% N这是力量
% B部分
面积= 6.1 * 50;%在毫米
压力= force. /区域;% N /毫米
应变= 50 l . /;
情节(应变、压力)
包含(“应变”)
ylabel (“压力”)
% c部分
%第一部分
x =(应变> = 0)&(应变< = 0.27);
y =压力(压力> = 0)& (< = 0.27);
xy = x和y;
z = polyfit(应变(xy)、压力(xy), 1)%的代码
f = polyval (z,应变(xy));
情节(应变、压力)
持有
情节(应变(xy), f)
持有
xlim (0.1 [0])
文本(0.04,0.15,sprintf (的斜率= % 7.3 f ',z (1)))
编辑 2 - 你的数据,你的选择是在刚开始的时候。该地区的情节和回归线通过:
你打算回归在不同的区域?

登录置评。

类别

找到更多的在应力和应变帮助中心文件交换

社区寻宝

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

开始狩猎!