如何使用polyfit函数
8视图(30天)
显示旧的评论
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函数时,我得到一个错误。有人能帮吗?
0评论
答案(2)
明星黾
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 -
你的数据,你的选择是在刚开始的时候。该地区的情节和回归线通过:
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/194740/image.png)
你打算回归在不同的区域?