24小时热门版块排行榜    

查看: 648  |  回复: 2

右手握炮

新虫 (小有名气)

[求助] 用matlab进行数据拟合,却出现下列错误,请高手指点该怎么改? 已有1人参与

初学matlab,需要编写一组程序,把实验数据拟合作出图线,并求出积分,运行后出现下列错误,不知错误出在哪里,该怎么改,感激不尽。。。
错误程序如下:
X=0:2:786;
data=xlsread('C:\Users\Administrator\Desktop\result example.xlsx',1,'A1:A394');
Y=[data]
Y2=linspace(1,1,394)
P=polyfit(X,Y,11);
Y1=polyval(P,X)
Y3=Y2-Y1
Y4=Y1./Y3
Q=trapz(X,Y4)
format short
plot(X,Y,'',X,Y1,'-*');
%plot(X,Y4,'');

Y =

   14.3900
   14.4000
   14.6600
   14.6600
   14.6600
   14.6600
   15.1200
   15.1200
   15.1200
   15.5200
   15.5200
   15.5200
   15.9800
   15.9800
   15.9800
   16.4500
   16.4500
   16.4500
   16.8900
   16.8900
   16.8900
   16.8900
   17.1200
   17.1200
   17.4900
   17.4900
   17.4900
   17.8400
   17.8400
   17.8400
   18.3100
   18.3100
   18.3100
   19.1600
   19.1600
   19.1600
   20.1300
   20.1300
   20.1300
   21.3000
   21.3000
   21.3000
   21.3000
   22.8500
   22.8500
   24.2600
   24.2600
   24.2600
   24.2600
   25.3000
   25.3000
   26.2000
   26.2000
   26.2000
   26.2000
   27.0000
   27.0000
   27.4000
   27.4000
   27.4000
   27.4000
   27.8000
   27.8000
   28.2000
   28.2000
   28.2000
   28.2000
   28.3000
   28.3000
   28.3000
   28.3000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.4000
   28.3000
   28.3000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.2000
   28.1000
   28.1000
   28.1000
   28.1000
   28.1000
   28.1000
   28.1000
   28.1000
   28.0000
   28.0000
   28.0000
   28.0000
   27.9000
   27.9000
   27.9000
   27.8000
   27.8000
   27.8000
   27.8000
   27.8000
   27.8000
   27.7000
   27.7000
   27.7000
   27.5000
   27.5000
   27.5000
   27.5000
   27.5000
   27.5000
   27.3000
   27.3000
   27.3000
   27.3000
   27.3000
   27.4000
   27.3000
   27.3000
   27.3000
   27.2000
   27.2000
   27.2000
   27.0000
   27.0000
   27.0000
   27.0000
   27.0000
   27.0000
   27.0000
   27.0000
   26.9000
   26.8000
   26.8000
   26.8000
   26.8000
   26.8000
   26.8000
   26.7000
   26.7000
   26.7000
   26.7000
   26.7000
   26.6000
   26.6000
   26.4000
   26.4000
   26.4000
   26.3000
   26.3000
   26.3000
   26.3000
   26.3000
   26.3000
   26.2000
   26.2000
   26.2000
   26.2000
   26.2000
   26.2000
   26.2000
   26.1000
   26.1000
   26.1000
   25.9000
   25.9000
   25.9000
   25.9000
   25.9000
   25.9000
   25.8000
   25.8000
   25.6000
   25.6000
   25.6000
   25.6000
   25.6000
   25.6000
   25.5000
   25.5000
   25.5000
   25.5000
   25.6000
   25.6000
   25.5000
   25.5000
   25.5000
   25.5000
   25.5000
   25.5000
   25.5000
   25.5000
   25.4000
   25.4000
   25.2000
   25.2000
   25.2000
   25.2000
   25.2000
   25.2000
   25.1000
   25.1000
   25.1000
   25.1000
   25.1000
   25.1000
   24.9500
   24.9500
   24.9500
   24.8700
   24.8700
   24.8700
   24.8600
   24.8600
   24.8600
   24.8600
   24.8100
   24.8100
   24.7500
   24.7500
   24.7500
   24.6800
   24.6800
   24.6800
   24.6800
   24.6100
   24.6100
   24.5500
   24.5500
   24.5500
   24.5500
   24.4200
   24.4200
   24.3600
   24.3600
   24.3600
   24.3600
   24.3600
   24.2900
   24.2200
   24.2200
   24.2200
   24.2200
   24.2200
   24.2200
   24.1200
   24.1200
   24.1200
   24.1200
   24.0500
   24.0500
   24.0400
   24.0400
   24.0400
   24.0400
   23.9100
   23.9100
   23.9100
   23.9100
   23.7700
   23.7700
   23.7800
   23.7800
   23.7800
   23.7800
   23.6100
   23.6100
   23.4200
   23.4200
   23.4200
   23.4200
   23.3800
   23.3800
   23.3800
   23.3300
   23.3300
   23.3300
   23.1500
   23.1500
   23.1500
   23.1500
   23.1500
   23.1400
   23.0800
   23.0800
   22.9500
   22.9500
   22.9500
   22.9500
   22.7600
   22.7600
   22.6200
   22.6200
   22.6200
   22.6200
   22.5700
   22.5700
   22.5700
   22.3800
   22.3800
   22.3800
   22.3300
   22.3300
   22.3300
   22.1300
   22.1300
   22.1300
   22.0200
   22.0200
   22.0200
   21.8800
   21.8800
   21.8800
   21.6900
   21.6900
   21.6900
   21.5500
   21.5500
   21.5500
   21.3500
   21.3500
   21.3500
   21.3500
   21.1700
   21.1700
   21.1700
   20.9900
   20.9900
   20.9900
   20.6100
   20.6100
   20.6100
   20.4300
   20.4200
   20.4200
   20.1900
   20.1900
   20.1900
   19.9600
   19.9600
   19.9700
   19.6200
   19.6200
   19.6200
   19.3000
   19.3100
   19.3100
   18.8600
   18.8600
   18.8600
   18.4800
   18.4800
   18.4800
   18.0000
   18.0000
   18.0000
   18.0000
   17.4800
   17.4800
   17.4800
   16.9200
   16.9200
   16.4700
   16.4700
   16.4700
   16.4700
   16.0300
   16.0300
   15.5800
   15.5800
   15.5800
   15.5800
   15.0500
   15.0500
   14.6300
   14.6300
   14.6300
   14.6300
   14.3100
   14.3000


Y2 =

  Columns 1 through 24

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 25 through 48

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 49 through 72

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 73 through 96

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 97 through 120

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 121 through 144

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 145 through 168

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 169 through 192

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 193 through 216

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 217 through 240

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 241 through 264

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 265 through 288

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 289 through 312

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 313 through 336

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 337 through 360

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 361 through 384

     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1     1

  Columns 385 through 394

     1     1     1     1     1     1     1     1     1     1

Error using polyfit (line 48)
X and Y vectors must be the same size.
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

新的风暴已经出现 怎么能够停滞不前 穿越时空竭尽全力 我会来到你身边 微笑面对危险 梦想成真不会遥远 鼓起勇气坚定向前 奇迹一定会出现
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

米修皮皮

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
拟合的阶数与给的数据没有匹配好,建议把中间的两行代码
P=polyfit(X,Y,11);
Y1=polyval(P,X)
修改为:
[P,S,mu] = polyfit(X,Y,11);
[Y1,delta] = polyval(P,X,S,mu);

看看结果是不是你想要的。
有想法勤实践善总结
2楼2014-09-05 17:14:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

右手握炮

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 米修皮皮 at 2014-09-05 17:14:13
拟合的阶数与给的数据没有匹配好,建议把中间的两行代码
P=polyfit(X,Y,11);
Y1=polyval(P,X)
修改为:
  = polyfit(X,Y,11);
  = polyval(P,X,S,mu);

看看结果是不是你想要的。

多谢啦
新的风暴已经出现 怎么能够停滞不前 穿越时空竭尽全力 我会来到你身边 微笑面对危险 梦想成真不会遥远 鼓起勇气坚定向前 奇迹一定会出现
3楼2014-09-05 17:40:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 右手握炮 的主题更新
信息提示
请填处理意见