回 帖 发 新 帖 刷新版面

主题:[讨论]请大家帮我看一下这个程序

在-4<=e<=4的范围内,对b=a.^(1/2) 作图。
其中,当e<=3时, a=9-e.^2;否则a=e.^2-9。
我用matlab编程如下:
e=-4:0.01:4;
if e<=3;then a=9-e.^2;else a=e.^2-9;
end;
>> b=sqrt(a);
>>  plot(e,b);
但是,作出来的图形却和没有用if 语句一样。不知是为什么。请高手赐教。谢谢!

回复列表 (共4个回复)

沙发

a(e<=3)=9.-e(e<3).^2;
a(e>3) = e(e>3).^2-9;

板凳

什么意思呀?能够详细些吗?
是不是把if--end改写成为您回复里的形式?这样也还是不行呀?

3 楼

错了一小处。
a(e<=3)=9.-e(e<=3).^2;
a(e>3) = e(e>3).^2-9;

把if-end那段换成上面的就OK了。我测试过的。只是不知道图形是不是你预期的那样的。

4 楼


for e=-4:0.01:4
  if abs(e)<=3
   a=9-e.^2;
else a=e.^2-9;
end
b=sqrt(a);
plot(e,b)
hold on 
end
[fly]呵呵呵  献丑了[/fly]

我来回复

您尚未登录,请登录后再回复。点此登录或注册