• 数值微积分


    polyval(a,x)

    参数

    1.多项式的系数向量

    2.自变量

    hold on
    a=[9,-5,3,7];
    x=-2:0.01:5;
    f=polyval(a,x);
    plot(x,f,'LineWidth',2);
    xlabel('x');
    ylabel('f(x)');
    set(gca,'FontSize',14);
    title('9x^{3}-5x^{2}+3x+7 -2<=x<=5');
    hold off
    

    polyval()求导后某位置的值

    p=[5 0 -2 0 1];
    polyval(polyder(p),7);
    

    conv(向量卷积运算)

    所谓两个向量卷积,说白了就是多项式乘法。

    比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:
    把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列,比如就按升幂吧,写出对应的多项式:1+2x+3x^2;同样的,把q的元素也作为多项式的系数按升幂排列,写出对应的多项式:1+x。

    卷积就是“两个多项式相乘取系数”。
    (1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3
    所以p和q卷积的结果就是[1 3 5 3]。

    polyint(p,a) 求积分

    参数

    p 多项式系数的向量

    a 积分后添加的常数项

    p=[5 0 -2 0 1];
    polyval(polyint(p,3),7);
    

    diff() 求差分

    >> x=[1 2 5 2 1];
    >> diff(x)
    
    ans =
    
         1     3    -3    -1
    

     求斜率

    >> x=[1 2];
    >> y=[5 7];
    >> slope=diff(y)./diff(x)
    
    slope =
    
         2
    

    求导数

    hold on
    %求sin(x)的导数
    h=0.05;
    x=0:h:2*pi;
    y=sin(x);
    m=diff(y)./diff(x);
    plot(m,'o--r');
    plot(y);
    hold off
    
    hold on
    x=-2:0.005:2;
    y=x.^3;
    m=diff(y)./diff(x);
    %求二次导数 特别注意 
    %假设原来有三个数 求差完 得到 两个差值-->也就是说每次导数完,x的个数会减1
    m2=diff(m)./diff(x(1:end-1));
    plot(m);
    plot(m2);
    hold off
    

     三种不同思想的积分方法

    %%hold on
    %Midpoint Rule 取x中点值求和乘高
    h=0.05;
    x=0:h:2;
    midpoint=(x(1:end-1)+x(2:end))./2;
    y=4*midpoint.^3;
    s=sum(h*y);
    plot(y);
    %%hold off
    
    %%Trapezoid Rule 把函数值算出来乘高求和
    h=0.05;x=0:h:2;
    y=4*x.^3;
    trapezoid=(y(1:end-1)+y(2:end))/2;
    s=h*sum(trapezoid);
    %%
    %%Simpson's Rule 比上面两个方法精确 没研究原理 略写
    

    指针传参function handles

    function [y]=tem(input,x)
    y=input(x);
    plot(x,y,'r--');
    xlabel('x');
    ylabel('function(x)');
    end
     
    >> tem(@sin,0:0.01:2*pi);
    

     integral(被积函数,上限,下限)

    >> y=@(x) 1./(x.^3-2*x-5);
    >> integral(y,0,2)
    
    ans =
    
       -0.4605
    

     

  • 相关阅读:
    VS2010 添加项目依赖
    人工鱼群算法 AFSA
    粒子群算法 PSO
    CUDA速度测试
    AGSO 萤火虫算法
    用于WTL工具栏的辅助类CToolBarHelper
    关于结构体内存对齐
    遗传算法 GA
    A*算法
    人工蜂群算法 ABC
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11295769.html
Copyright © 2020-2023  润新知