matlab画函数图像

 我来答
百度网友ea116ba
2019-01-01 · TA获得超过1419个赞
知道小有建树答主
回答量:1132
采纳率:87%
帮助的人:321万
展开全部

x =linspace(-5,5,10000);

y = (x.^3 -2*x.^2).^(1/3);

figure,

plot(x,y)

你看递增否?

我详细看了一下,问题出在开立方上面,matlab开立方有点问题,

(-64)^(1/3) = 4,但是matlab算出来是

(-64)^(1/3) = 2.0000 + 3.4641i,

( 2.0000 + 3.4641i)^3 = -63.9999 + 0.0000i,

如你所持指出的一样,

x=-2,y = (-16)^(1/3) =-2.5198,

x =-1, y =(-3)^(1/3) = -1.4422,

但是实际上matlab算出来的是复数,问题主要出在当y时负数的时候,matlab是按照复数来处理的。

x=-2,y = (-16)^(1/3) = 1.2599 + 2.1822i ,

x =-1, y =(-3)^(1/3) =   0.7211 + 1.2490i,

(-16)^(1/3) = (16*exp(Pi*i))(1/3) =(16)^(1/3)exp(Pi/3*i) =  1.2599 + 2.1822i,这个时候为了限制解在实数域,可以   x^(1/3) = sign(y)(abs(x)^(1/3)),也就是(-16)^(1/3)  = -(16^(1/3)),来规避这一问题。

x =linspace(-5,5,10000);

y = (x.^3 -2*x.^2);

signY = sign(y);

thirdthPowerY = abs(y).^(1/3);

realY = signY .* thirdthPowerY ;

figure,

plot(x,realY)

这个图应该是对的,如你所说的区间是递增的。

独朝雨0Kx
2018-12-31 · TA获得超过332个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:53.8万
展开全部
直接输入命令:
x:=0:0.01:1;
y=x;
plot(x,y)
很久没用了,大概是这样,你试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖豆羊By
高粉答主

2020-03-27 · 每个回答都超有意思的
知道答主
回答量:8.6万
采纳率:2%
帮助的人:4500万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2020-09-28 · TA获得超过1.6万个赞
知道答主
回答量:11.7万
采纳率:4%
帮助的人:6563万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ba18dbe
2018-12-31 · 贡献了超过1167个回答
知道答主
回答量:1167
采纳率:0%
帮助的人:89.3万
展开全部
x:=0:0.01:1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式