分段函数有帮助吗?不能使用else/if?

8次浏览(过去30天)
AJ
AJ 2014年2月18日
评论道: 约翰Snori2021年9月1日
嗨,我遇到了一道作业难题。
这是我的代码。我把它画出来,在图的中间,从-到正y应该在的地方cos x是不对的。在y=-1处画一条直线。我知道我需要把它变成一个向量或者一个循环,这样就不用if/else,跳过中间的余弦函数。
每当我试图获得函数命令时,我得到这样的结果:在此上下文中不允许函数定义。
代码到目前为止:
清晰的所有
关闭所有
clc
x = 2 * pi: .01:2 *π
如果(x < -π)
y = 1;
elseif(x > = -pi&x < =π)
y = cos (x);
其他的(x >π)
y = 1;
情节(x, y)
结束
这就是我得到的:中间部分(余弦函数)是错误的。我被告知它只是画出else后面的部分。
帮助吗?
谢谢你!
2的评论
M. Y.纳贾尔
M. Y.纳贾尔 2016年12月28日
在If语句中不需要双'&'符号吗?

登录评论。

接受的答案

卡兰吉尔
卡兰吉尔 2016年12月1日
编辑:卡兰吉尔 2017年10月17日
如果你有R2016b,你可以使用分段函数: //www.tianjin-qmedu.com/help/symbolic/piecewise.html
2的评论
约翰Snori
约翰Snori 2021年9月1日
第二种方法包括使用if-else语句和for循环。在这个方法中,我们将使用if-else语句定义所有子函数和约束,然后我们将绘制分段函数。
来源:https://www.entechin.com/how-to-plot-a-piecewise-function-in-matlab/

登录评论。

更多答案(2)

AJ
AJ 2014年2月18日
有没有可能有人能给我准确的密码?
我看了你的回答图像分析师,我很感激,但我仍然不明白,我想我会理解它后,看到它应该是怎么做的。我已经试了5个小时了,我还有其他工作要做。
2的评论
burak ergocmen
burak ergocmen 2016年12月1日
真的有效果!谢谢你的密码。

登录评论。


图像分析
图像分析 2014年2月18日
编辑:图像分析 2014年2月18日
使用两个&:
elseifX (k) >=-pi && X (k) <= PI
你需要用y=-1做一个数组:
Y (k) = -1;
否则它只是一个数字,不是一个由-1组成的数组。加上你需要像我提到的那样,让它在k上循环
K = 1:长度(x)
然后look内的所有内容都有一个(k)索引。当然有一种向量化的方法来做,如果你想要的话。
6个评论
史蒂文的主
史蒂文的主 2019年3月26日
供你参考 创建一个数组,而不需要首先创建 数组中。
y = NaN(size(x));

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!