关于matlab程序问题

关于matlab程序问题,第1张

新建备山一个m文件(file->new->m-file),把第一个复制进去,然后保存(文件名gngauss.m不要改)

同样的把第三个保存为smldPe58.m

最后新建一个m文件把第二个复制进去,保存后(随便取个名贺慎字,字母开头)run(F5)即可,或者在command window下直接打下你保存的这个文件的名字(.m不要)回车即可。仿拍中

利用cftool曲线拟合工春李具箱:

Linear model Poly2:

f(x) = p1*x^2 + p2*x + p3

Coefficients (with 95% confidence bounds):

p1 =-0.03816 (-0.05458, -0.02173)

p2 = 13.56 (12.62, 14.51)

p3 = -1.28 (-8.511, 5.952)

Goodness of fit:

SSE: 248

R-square: 0.9993

Adjusted R-square: 0.9992

RMSE: 5.952

注:

1.误差平方和(SSE)

2. R-Square(复相关系数或复测定系数)

3. Adjusted R-Square(调整自由度复扒链迟相关系数)

4.Root mearn squared error(RMSE),(均方根唤正误差)

main.m

g=@(t)exp(-t.^2)

x=linspace(0,5,100)

y1=zeros(1,100)

y2=zeros(1,100)

for i = 1:100

  y1(i)=2/sqrt(pi)*Simpson(g,0,x(i),1000) %幸普森公式

  y2(i)=2/sqrt(pi)*trapezoidal(g,0,x(i),1000)%复合梯形公式

end

plot(x,y1,'r-',x,y2,'b.')

legend('辛普森公式','复合梯形公式')

Simpson.m

function y = Simpson(f,a,b,M)

  % f被积函数;a积分下限;b积分上限猜桥;M子区间个数(将x分为多少个区间穗磨猛)

  h=(b-a)/(2*M)

  s1=0

  s2=0

  for i=1:M

      x=a+(2*i-1)*h

      s1=s1+f(x)

  end

  for j=1:(M-1)

      x=a+2*j*h

      s2=s2+f(x)

  end

  y=h/3*(f(a)+2*s2+4*s1+f(b)) 

end

trapezoidal.m

function y = trapezoidal(f,a,b,n)

  h=(b-a)/n

  x=zeros(1,n+1)

  F=zeros(1,n+1)

  for k=0:n

      x(k+1)=a+k*h

      if x(k+1)==0

          x(k+1)=10^(-10)

     游枣 end

  end

  T_1=h/2*(f(x(1))+f(x(n+1)))

  for i=2:n

      F(i)=h*f(x(i))

  end

  T_2 = sum(F)

  y =T_1+T_2

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12336304.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存