我在matlab中的自定义函数无法画图,怎么把啊?

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:40:20
我在matlab中用M文件自定义的函数无法画图,不只是怎么回事,请高手看看。
比如,我做一个阶跃函数

function mystep=mystep(x)
if x<0
mystep=0
else
mystep=1
end

可是我作图时 输入如下指令
X=[0:0.1:5];
Y=mystep(X)
可是这个时候Y得值不是一个数列,而是单崩一个值
具体情况如下

>> X=[0:0.1:5];
>> Y=mystep(X)

mystep =

1

Y =

1
请问这是怎么回事啊?

function mystep=mystep(x)
if x<0
mystep=0
else
mystep=1
end

错误在于:x=[0:0.1:5]
([0:0.1:5]>=0)==>mystep=1 ;当然只有一个数值。

函数改为:
function m=mystep(x)
%%%%%%简洁明了。
m=(x>=0)

mystep返回值是一个整数,Y就是调用mystep(5)得到的值,以前的值都被冲掉了。

function mystep=mystep(x)
i=1; y=0;
for tmp=x
if tmp<0
y(i)=0;
i=i+1;
else
y(i)=1;
next
mystep = y;
end

没怎么学过matlab不知道语法有没有错,但意思就是然函数返回一个数组出来,而不是单个的数

或者函数不变
i=1;
for X=[0:0.1:5]
Y(i)=mystep(X);
i=i+1;
next;

function mystep=mystep(x)
if x<0
mystep=0
else
mystep=1
end

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及