fa=(x.*st(2:end)-y.*st1(2:end))./((st(2:end)).^2+(st1(2:end):1).^2); % 这样改就好了
diff(f,x); 求函数f对x的导数diff(f,x$n); 求函数f对x的n阶导数
你直接对y数据求导得到的数据长度比原来少了一个plot肯定报错,x和y尺度不符对符号函数求导之后得到符号函数要么ezplot,要么代入数据再画图
系统认为S1那些变量都是字符串,所以求它们的导就是求相邻两个字符(ASCII码)的差.如6的ASCII码是54,x是120,故答案的第一个就是120-54=66想正常的求导,要先指定x为符号变量:syms x;然后S1=6*x^3-4*x^4;最后就可以diff(S1)
题主提供的表达式缺dw、dl、p的具体值.为了说明方法,设定dw=1;dl=1;p=1;则>> syms A>> dw=1;dl=1;p=1;>> s=dw.*dl.*sin(A).^2+1./2.*dw.*sin(A).*p;>> ds=diff(s,1);%求一阶导数>> A=vpasolve(ds==0)%求解A值 运行结果如下.
用MATLAB求导的结果应该是符号型.请看下列图片中的dy属性.如出现求导后的结果为数据型的话.只有对离散数据求导(差分),才会是数据型.例如:>> x = 0:0.1:pi;>> dy=diff(sin(x.^2))/0.1>> whos
你写个函数就行了.F求导看都能看出来,用啥diff,求导后函数为:f=exp(x)+3*x^2;你可以写个函数function f=fdiff(x)f=exp(x)+3*x^2;然后在写你的循环:for i=1:50f(i)=feval(fdiff,i);end即可.
%得先把x清空并将x转换为变成符号量:clear x;syms x;diff('(5*x^2+5*x+3)/(x^(1/2))')%否则它会对x存储的向量进行相应操作,得到的就是向量了
syms xy=exp(2*x);dy=diff(y);dy1=subs(dy,x,1)
你要看的是点数,不是格子数,9个点就是8个格子了!