作业帮 > 综合 > 作业

matlab如何做导函数图像

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/05 13:07:41
matlab如何做导函数图像
l1=40.638;l2=343.021;l3=400;l4=259.319;
t=linspace(0,1,100);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);
sa3=2*atan((B+sqrt(A.^2+B.^2-C.^2))./(A-C));
H=l3*sin(sa3-0.713)*2;
figure(1);
plot(t,H);
figure(2);
plot(t,sa3);
v=diff('H','t');
figure(3);
plot(t,v);
以上是我编写的一段程序本意是求H的导函数的图像,H是关于t的函数,但是总是提示出错? Error using ==> diff
Difference order N must be a positive integer scalar.
哪位高手帮忙解答一下,万分感激
matlab如何做导函数图像
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])