发布网友
共3个回答
热心网友
比如这个例子:
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、点击运行,即可以得到分段函数的图像了:
热心网友
!!!应该是这样的结果吧!!!!
程序如下:
function y= thli(x)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
%x = 0:0.1:1
if x<=0.1
y=1000*x;
elseif x>0.1
y=2*50000*(x-0.1)+100;
elseif x<=0.2
y=2*50000*(x-0.1)+100;
elseif x>0.2
y=50*50000*(x-0.2)+2*50000*0.1+100;
elseif x<=0.25
y=50*50000*(x-0.2)+2*50000*0.1+100;
elseif x>0.25
y=100;
end
热心网友
function [y,x]= thli(x)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
if nargin==0
x = 0:0.01:1;
end
for i=1:length(x)
X=x(i);
if X<=0.1
Y=1000*X;
end
if X>0.1 && X<=0.2
Y=2*50000*(X-0.1)+100;
end
if X>0.2 && X<=0.25
Y=50*50000*(X-0.2)+2*50000*0.1+100;
end
if X>0.25
Y=100;
end
end
y(i)=Y;
end
%%%%%%%%%%%
调用一下啊!
我是这样用的。
[y,x]= thli();plot(x,y)
你看看结果吧