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])