MATLAB如何用if自定义分段函数

matlab中用if实现下述函数表示:当y=1时,f(x,y)=sin(x);当y=2时,f(x,y)=cos(x);当y为其他值时,f(x,y)=sin(x)cos(x).

1、与建立M文件类似,在命令窗口中输入edit。

2、编写函数,需要注意函数命名规则,注释部分可有可无,用%开始。

3、编写完成后保存文件,最好保存在当前工作路径的文件夹

4、直接输入函数名,形参,就能返回计算结果。

5、和查看其它函数说明一样,输入“help 函数名” 就能看到这个函数的注释说明。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02

比如这个例子:

1、打开MATLAB软件,粘贴以下代码:

clc; clear all

x=0:0.01:10;

y=sqrt(x).*(x>=0&x<4)+2*(x>=4&x<6)+(5-x/2).*(x>=6&x<8)+1*(x>=8);

plot(x,y,'r','linewidth',2)

axis([0 10 0 2.1])

grid on

解释一下,代码的逻辑运算符是这个程序成败的关键,利用了判断逻辑数和向量之间的相乘,构造分段函数的表达式.

2、点击运行,即可以得到分段函数的图像了:

第2个回答  2013-04-28
if y==1
f(x,y)=sin(x);
else if y==2
f(x,y)=cos(x);
else
f(x,y)=sin(x)cos(x);
end
end
第3个回答  2015-08-18
举个简单的例子,假设有如下函数描述:
function y=myfun1(x)
y=x.*(x>=0 & x<1)+2*x.*(x>=1 & x<=2);
end

matlab 输出结果如下:
>> x=0:0.001:2;
>> y=myfun1(x);
>> plot(x,y)
相似回答