matlab中,希望求函数f(x)=x的1/3次方,及其导函数z=df(x)/dx程序如下:syms x; f=nthroot(x,3); f1=diff(f);pretty(f1);x1=-5:0.1:5;y=subs(f,x,x1);y1=subs(f1,x,x1);plot(x1,y,x1,y1,':');第二行f=nthroot(x,3);错误若第二行改为f=x^(1/

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/02 16:53:13
matlab中,希望求函数f(x)=x的1/3次方,及其导函数z=df(x)/dx程序如下:symsx;f=nthroot(x,3);f1=diff(f);pretty(f1);x1=-5:0.1:5

matlab中,希望求函数f(x)=x的1/3次方,及其导函数z=df(x)/dx程序如下:syms x; f=nthroot(x,3); f1=diff(f);pretty(f1);x1=-5:0.1:5;y=subs(f,x,x1);y1=subs(f1,x,x1);plot(x1,y,x1,y1,':');第二行f=nthroot(x,3);错误若第二行改为f=x^(1/
matlab中,希望求函数f(x)=x的1/3次方,及其导函数z=df(x)/dx
程序如下:
syms x;
f=nthroot(x,3);
f1=diff(f);
pretty(f1);
x1=-5:0.1:5;
y=subs(f,x,x1);
y1=subs(f1,x,x1);
plot(x1,y,x1,y1,':');
第二行f=nthroot(x,3);错误
若第二行改为f=x^(1/3);则当x为负数时系统计算结果为复数.
请问如何修改?

matlab中,希望求函数f(x)=x的1/3次方,及其导函数z=df(x)/dx程序如下:syms x; f=nthroot(x,3); f1=diff(f);pretty(f1);x1=-5:0.1:5;y=subs(f,x,x1);y1=subs(f1,x,x1);plot(x1,y,x1,y1,':');第二行f=nthroot(x,3);错误若第二行改为f=x^(1/
对于x^(1/3)来说,其实不光x0时,也是有虚数根的
只不过M软件只给出第一个根,所以看不见虚根,这是复变函数的内容,你看:
>> solve('x^3=1')
ans =
1
-1/2+1/2*i*3^(1/2)
-1/2-1/2*i*3^(1/2)
----------------------------------------
楼主的意思是只要实根,不要虚根?好吧,试试看(当然,会报错,没做处理,不影响的):
clear all;clc;
syms x a
f=solve('a^3=x','a')
ff=diff(f);
t=-5:0.1:5;
for ii=1:length(t)
if t(ii)=0
y(ii)=subs(f(1),x,t(ii));
yy(ii)=subs(ff(1),x,t(ii));
end
end
plot(t,real(y));hold on;
plot(t,real(yy),'r');