作业帮 > 综合 > 作业

求matlab 程序或SPSS程序,对散散点先进行拟合,得表达式和图像,再进行积分,得积分值

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/17 23:02:48
求matlab 程序或SPSS程序,对散散点先进行拟合,得表达式和图像,再进行积分,得积分值
比如散点坐标是X=0:23 Y=(0 0 0 0 0 0.24 16.52 69.97 171.24 300.75 424.14 504.76 543.47 546.88 493.02 404.69 293.68 164.22 67.11 14.84 0.17 0 0 0) 麻烦给出详细程序
clc;
clear;
x=0:23;
y=[0 0 0 0 0 0.24 16.52 69.97 171.24 300.75 424.14 504.76 543.47...
546.88 493.02 404.69 293.68 164.22 67.11 14.84 0.17 0 0 0];
plot(x,y,'r.')
hold on
grid on
f=@(A,x)A(1)*exp(-((x-A(2))/A(3)).^2)+A(4)*exp(-((x-A(5))/A(6)).^2);
A=nlinfit(x,y,f,[400 15 3 400 10 3])%方程系数矩阵
Q=quad(@(x)f(A,x),0,23)
xx=min(x):0.01:max(x);
yy=A(1)*exp(-((xx-A(2))/A(3)).^2)+A(4)*exp(-((xx-A(5))/A(6)).^2);%方程形式
plot(xx,yy)
再问: 曲线拟合出来后, 求y值大于80部分的积分(一个y值对应两个横坐标x0,x1,即求x0到x1之间的积分),怎么改程序?? 进一步,如果求y值在80到200之间部分的积分(两部分想相加),怎么改程序?? 急用,谢谢了!!!
再答: 你是一点都不会吗? 问题还真多,方程已经有了,这些你自己应该可以搞定的,怎么那么懒呢。
再问: 初次参加建模竞赛,要用到matlab,但以前没有接触过,所以以希望能帮我一下,谢谢!
再答: 好吧,你加分我帮你做,需要5分钟吧 clc; clear; x=0:23; y=[0 0 0 0 0 0.24 16.52 69.97 171.24 300.75 424.14 504.76 543.47... 546.88 493.02 404.69 293.68 164.22 67.11 14.84 0.17 0 0 0]; plot(x,y,'r.') hold on grid on f=@(A,x)A(1)*exp(-((x-A(2))/A(3)).^2)+A(4)*exp(-((x-A(5))/A(6)).^2); A=nlinfit(x,y,f,[400 15 3 400 10 3])%方程系数矩阵 Q=quad(@(x)f(A,x),0,23) %y大于80 options = optimset('Display','off'); x0=fsolve(@(x)f(A,x)-80,5,options); x1=fsolve(@(x)f(A,x)-80,20,options); Q1=quad(@(x)f(A,x),x0,x1) % %y大于200 x0=fsolve(@(x)f(A,x)-200,5,options); x1=fsolve(@(x)f(A,x)-200,20,options); Q2=quad(@(x)f(A,x),x0,x1) %y大于80小于200 Q3=Q1-Q2 xx=min(x):0.01:max(x); yy=A(1)*exp(-((xx-A(2))/A(3)).^2)+A(4)*exp(-((xx-A(5))/A(6)).^2);%方程形式 plot(xx,yy)