怎么用matlab画分段函数,比如f(x)=0,x<0;f(x)=1,x>=0,急用,求大神帮忙,谢谢

怎么用matlab画分段函数,比如f(x)=0,x<0;f(x)=1,x>=0,急用,求大神帮忙,谢谢,第1张

x=-100:001:100;
f=ones(size(x));
f(x<0)=0;
plot(x,f);
axis([-100 100 -02 12])

首先,建立自定义分段函数,即piecewise。m function y=piecewise(x) %piecewise function 分段函数 n=length(x); Pomax=9; for i=1:n if x(i)>=0 & x(i)150 & x(i)> piecewise(4) ans = 75992

用if语句就可以了,方便的话把具体表达式给出吧,具体问题欢迎探讨!
t=0:05:25;
len=length(t);
for
i=1:len
if(0<=t(i)<1)
z(i)=t(i)^2
;
elseif(1<=t(i)<2)
z(i)=t(i)^2
-1
;
elseif(2<=t(i)<3)
z(i)=t(i)^2
-2t(i)
+1
;
end
end

比如这个例子:

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

clc; clear all

x=0:001: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 21])

grid on

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

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

function y=f(x)
y=zeros(size(x));
[m n]=size(x);
for a=1:m
for b=1:n
if x(a,b)

function y=f(x)
y=zeros(size(x));
[m n]=size(x);
for a=1:m
for b=1:n
if x(a,b)<0
y(a,b)=-log(-x(a,b))+x(a,b);
else
y(a,b)=2x(a,b)^2-3sin(x(a,b));
end
end
end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13106342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存