楼主: ReneeBK
1388 9

[求书]An Introduction to Numerical Methods: A MATLAB Approach, Third Edition [推广有奖]

  • 1关注
  • 62粉丝

VIP

已卖:4897份资源

学术权威

14%

还不是VIP/贵宾

-

TA的文库  其他...

R资源总汇

Panel Data Analysis

Experimental Design

威望
1
论坛币
49635 个
通用积分
55.6937
学术水平
370 点
热心指数
273 点
信用等级
335 点
经验
57805 点
帖子
4005
精华
21
在线时间
582 小时
注册时间
2005-5-8
最后登录
2023-11-26

楼主
ReneeBK 发表于 2016-1-14 10:59:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


https://www.crcpress.com/An-Introduction-to-Numerical-Methods-A-MATLAB-Approach-Third-Edition/Kharab-Guenther/9781439868997
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:introduction troduction Numerical Approach Methods

沙发
ReneeBK 发表于 2016-1-14 11:02:24
  1. function bisect(f,a,b,tol,n)
  2. % Bisection method for solving the nonlinear
  3. %equation  f(x)=0.
  4. a0=a;
  5. b0=b;
  6. iter=0;
  7. u=feval(f,a);
  8. v=feval(f,b);
  9. c=(a+b)*0.5;
  10. err=abs(b-a)*0.5;
  11. disp('_____________________________________________________________________')
  12. disp(' iter    a            b           c           f(c)      |b-a|/2  ')
  13. disp('_____________________________________________________________________')
  14. fprintf('\n')
  15. if (u*v<=0)
  16.    while (err>tol)&(iter<=n)
  17.       w=feval(f,c);
  18.       fprintf('%2.0f  %10.4f  %10.4f  %12.6f  %10.6f  %10.6f\n',iter,a,b,c,w,err)
  19.       if (w*u<0)
  20.          b=c;v=w;
  21.       end
  22.       if (w*u>0)
  23.          a=c;u=w;
  24.       end
  25.       iter=iter+1;
  26.       c=(a+b)*0.5;
  27.       err=abs(b-a)*0.5;
  28.    end
  29.    if (iter>n)
  30.       disp('  Method failed to converge')
  31.    end   
  32. else
  33.    disp('   The method cannot be applied f(a)f(b)>0')  
  34. end
  35. % Plot f(x) in the interval [a,b].
  36. fplot(f, [a0 b0])
  37. xlabel('x');ylabel('f(x)');
  38. grid

  39.       
  40.          
  41.    
复制代码

藤椅
ReneeBK 发表于 2016-1-14 11:03:35
  1. function derive(f,h,a,n)
  2. % Approximate the derivative of a function at x=a
  3. disp('       Derivative table')
  4. disp('_________________________________________________________')
  5. disp(' i   h            Di,1        Di,2        Di,3      ...  ')
  6. disp('_________________________________________________________')
  7. D(1,1)=(feval(f,a+h)-feval(f,a-h))/(2*h);
  8. fprintf('%2.0f %8.4f %12.4f\n',1,h,D(1,1));
  9. for i=1:n-1
  10.    h=h/2;
  11.    D(i+1,1)=(feval(f,a+h)-feval(f,a-h))/(2*h);
  12.    fprintf('%2.0f %8.4f %12.4f',i+1,h,D(i+1,1));
  13.    for k=1:i
  14.       D(i+1,k+1)=D(i+1,k)+(D(i+1,k)-D(i,k))/((4^k)-1);
  15.       fprintf('%12.4f',D(i+1,k+1));
  16.    end
  17.    fprintf('\n');
  18. end
复制代码

板凳
ReneeBK 发表于 2016-1-14 11:05:17
  1. function euler(f,a,b,y0,n)
  2. % solve the initial value problem y'=f(t,y), y(a)=y0
  3. % using Euler's method.
  4. fprintf('\n')
  5. disp('               Euler method')
  6. disp('_______________________________________________________')
  7. disp('    ti     f(ti,yi)        yi          Exact     error ')
  8. disp('_______________________________________________________')
  9. fprintf('\n')
  10. h=(b-a)/n;
  11. y=y0;
  12. fprintf('%6.2f       ----   %12.6f %12.6f  %4.2f\n',a,y,y,0)
  13. for i=1:n
  14.    t=a+(i-1)*h;
  15.    m=feval(f,t,y);
  16.    y=y+h*m;
  17.    % write the exact solution g if known as g=g(t)
  18.    % otherwise set g='n'.
  19.    t=t+h;
  20.    g='n';
  21.    if (g~='n')
  22.      err=abs(g-y);
  23.      fprintf('%6.2f %12.6f %12.6f %12.6f  %8.2e\n',t,m,y,g,err)
  24.    else
  25.       fprintf('%6.2f %12.6f %12.6f\n',t,m,y)
  26.    end   
  27. end
复制代码

报纸
karst 发表于 2016-1-14 11:05:23
好资源
已有 1 人评分论坛币 收起 理由
Nicolle + 20 鼓励积极发帖讨论

总评分: 论坛币 + 20   查看全部评分

地板
ReneeBK 发表于 2016-1-14 11:06:05
  1. function explsqr(x,y)
  2. % Construct the least square exponential y=a*exp(b*x)
  3. % that fits x and y row or column vectors.
  4. n=length(x);
  5. n=length(y);
  6. z=log(y);
  7. sumx=sum(x);
  8. sumz=sum(z);
  9. sumx2=sum(x.*x);
  10. sumxz=sum(x.*z);
  11. beta=(n*sumxz-sumx*sumz)/(n*sumx2-sumx^2);
  12. b=beta;
  13. alfa=(sumx2*sumz-sumxz*sumx)/(n*sumx2-sumx^2);
  14. a=exp(alfa);
  15. disp('                 Exponential least squares')
  16. fprintf('\n a =%12.6f\n',a)
  17. fprintf(' b =%12.6f\n',b)
  18. disp('_________________________________________________________')
  19. disp('    xi     yi     ln(yi)    a*exp(b*xi)  |yi-[a*exp(b*xi)]|     ')
  20. disp('_________________________________________________________')
  21. for i=1:n
  22.    ye=a*exp(b*x(i));
  23.    err(i)=abs(ye-y(i));
  24.    fprintf('%6.2f  %6.2f  %6.2f  %12.6f   %12.6f\n',x(i),y(i),z(i),ye,err(i))
  25. end
  26.   
复制代码

7
ReneeBK 发表于 2016-1-14 11:06:42
  1. function falsep(f,a,b,tol,n)
  2. % False position method for solving the nonlinear
  3. % equation f(x)=0.
  4. a0=a;
  5. b0=b;
  6. iter=0;
  7. u=feval(f,a);
  8. v=feval(f,b);
  9. c=(v*a-u*b)/(v-u);
  10. w=feval(f,c);
  11. disp('_________________________________________________________________')
  12. disp(' iter     a             b          c            f(c)      |b-a|')
  13. disp('_________________________________________________________________')
  14. fprintf('\n')
  15. if (u*v<=0)
  16.    while (abs(w)>tol)&(abs(b-a)>tol)&(iter<=n)&((v-u)~=0)
  17.       w=feval(f,c);
  18.       fprintf('%2.0f %12.4f %12.4f  %12.6f  %10.6f %10.6f\n',iter,a,b,c,w,abs(b-a))
  19.       if (w*u<0)
  20.          b=c;v=w;
  21.       end
  22.       if (w*u>0)
  23.          a=c;u=w;
  24.       end
  25.       iter=iter+1;
  26.       c=(v*a-u*b)/(v-u);
  27.    end
  28.    if (iter>n)
  29.       disp('  Method failed to converge')
  30.    end
  31.    if (v-u==0)
  32.       disp('  Division by zero')
  33.    end
  34. else
  35.    disp('  The method cannot be applied f(a)f(b)>0')  
  36. end
  37. % Plot f(x) in the interval [a,b].
  38. fplot(f,[a0 b0])
  39. xlabel('x');ylabel('f(x)'); grid

  40.   

  41.       
  42.          
  43.    
复制代码

8
karst 发表于 2016-1-14 11:06:59
只是一个链接呀

9
damiwa 发表于 2016-1-14 13:13:40
谢谢楼主分享

10
igs816 在职认证  发表于 2016-9-9 10:25:17
https://bbs.pinggu.org/thread-4815054-1-1.html

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-20 23:42