MATLAB分段函数
x=-5:0.1:5;ifx>=1y=3*x.^2+1;elseif-1<x<1y=0;elsey=-x.^3+2;endplot(x,y)问什么不能实现分段函数?...
x=-5:0.1:5;
if x>=1
y=3*x.^2+1;
elseif -1<x<1
y=0;
else
y=-x.^3+2;
end
plot(x,y)
问什么不能实现分段函数? 展开
if x>=1
y=3*x.^2+1;
elseif -1<x<1
y=0;
else
y=-x.^3+2;
end
plot(x,y)
问什么不能实现分段函数? 展开
12个回答
展开全部
用matlab可以这样来写分段函数,局雹喊首先根据t的范围,得到θ(t)——theta(t);然后肆世将theta(t)代入参数方程。为了便桐野于说明问题,假定参数方程为 x(t)=a*cos(θ(t)); y((t))=b*sin(θ(t));a=5;b=10;则可以这样来实现:
t1=0:pi/10:2*pi;
a=5;b=10;
for i=1:length(t1)
syms theta(t)
if t1(i)>0 && t1(i)<pi/2
x(i,:)=a*cos(theta);
y(i,:)=b*sin(theta);
elseif t1(i)>=pi/2 && t1(i)<3*pi/2
x(i,:)=a*cos(theta+pi);
y(i,:)=b*sin(theta+pi);
elseif t1(i)>=3*pi/2 && t1(i)<6*pi/2
x(i,:)=a*cos(theta+2*pi);
y(i,:)=b*sin(theta+2*pi);
end
end
[x y]
运行结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=-5:0.1:5;
if x>=1
y=3*x.^2+1;
else if -1<x<1
y=0;
else
y=-x.^3+2;
end
end
plot(x,y)
你的elseif -1<x<1 有问题,应改察亏答空散成else if -1<败慧x<1 ,中间有空格
if x>=1
y=3*x.^2+1;
else if -1<x<1
y=0;
else
y=-x.^3+2;
end
end
plot(x,y)
你的elseif -1<x<1 有问题,应改察亏答空散成else if -1<败慧x<1 ,中间有空格
更多追问追答
追问
不对啊,你运行试过了没?
结果不正确
追答
clc,clear all
x=-5:0.1:5;
if x>=1
y=3*x.^2+1;
else if -1<x<1
y=0;
else
y=-x.^3+2;
end
end
plot(x,y)
我运行过了,没有问题,是不是你workspace中有变量。要不你再运行一次
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-09-20
展开全部
如何用MATLAB画分段函数
把下面的函数保存为Piecewise_x.m文件袜凳灶
function F=Piecewise_x(x)F=x.^2.*(x>=0 & x<1)+cos(pi*(x-1)).*(x>告扮=1 & x<粗碧2)+(-x.^2./(x+2)).*(x>=2 & x<=4);end
把下面的函数保存为Piecewise_x.m文件袜凳灶
function F=Piecewise_x(x)F=x.^2.*(x>=0 & x<1)+cos(pi*(x-1)).*(x>告扮=1 & x<粗碧2)+(-x.^2./(x+2)).*(x>=2 & x<=4);end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现代码帆举如下:
function y=myfun1(x)
y=x.*(x>=0 x<1)+2*x.*(x>局扮=1
x<=2);
end
>> x=0:0.001:2;
>>
y=myfun1(x);
>>态腊碧 plot(x,y)
function y=myfun1(x)
y=x.*(x>=0 x<1)+2*x.*(x>局扮=1
x<=2);
end
>> x=0:0.001:2;
>>
y=myfun1(x);
>>态腊碧 plot(x,y)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t=-1:0.01:3; % 自己根据拿卜需团敏谨要设置
m=zeros(size(t));
for i=1:length(t)
if (t(i)>=0)&(t(i)<1)
m(i)=t(i);
elseif (t(i)>1)&(t(i)<=2)
m(i)=-t(i)+2;
else
m(i)=0.1;
end
end
plot(t,m,'r'塌基)
grid on
m=zeros(size(t));
for i=1:length(t)
if (t(i)>=0)&(t(i)<1)
m(i)=t(i);
elseif (t(i)>1)&(t(i)<=2)
m(i)=-t(i)+2;
else
m(i)=0.1;
end
end
plot(t,m,'r'塌基)
grid on
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询