matlab如何做导函数图像l1=40.638;l2=343.021;l3=400;l4=259.319;t=linsp

1个回答

  • 1、函数diff的使用错误:

    标量用法

    v=diff('H','t')语句使用错误.

    你的“H”是一个标量表达式,不是符号表达式.不能这样使用.

    改进方法一:程序后3句改动如下:

    figure(3)

    v=diff(H);

    plot(linspace(0,1,length(H)),H)

    即可得到正确结果

    2、符号函数用法.

    l1=40.638;

    l2=343.021;

    l3=400;

    l4=259.319;

    % t=linspace(0,1,100);

    syms t

    w=2*pi;

    A=l4-l1*cos(w*t);

    B=-l1*sin(w*t);

    % C=(A.^2+B.^2+l3^2-l2^2)/(2*l3);

    C=(A^2+B^2+l3^2-l2^2)/(2*l3);

    % sa3=2*atan((B+sqrt(A.^2+B.^2-C.^2))./(A-C));

    % H=l3*sin(sa3-0.713)*2;

    sa3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));

    H=l3*sin(sa3-0.713)*2;

    fun=diff(H);

    ezplot(fun,[-1,1])