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

我在matlab中用M文件自定义的函数无法画图,不只是怎么回事,请高手看看。比如,我做一个阶跃函数functionmystep=mystep(x)ifx<0mystep=... 我在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
请问这是怎么回事啊?
展开
 我来答
萬哩挑壹
推荐于2016-05-04 · 知道合伙人教育行家
萬哩挑壹
知道合伙人教育行家
采纳数:19733 获赞数:47578
校英语竞赛第一名

向TA提问 私信TA
展开全部
function mystep=mystep(x)
if x<0
mystep=0
else
mystep=1
end

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
BloodyBill
推荐于2018-04-23 · TA获得超过107个赞
知道小有建树答主
回答量:239
采纳率:66%
帮助的人:96.7万
展开全部
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)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树俊雅疏景
2019-09-05 · TA获得超过2.9万个赞
知道大有可为答主
回答量:9846
采纳率:26%
帮助的人:1102万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chris8567
2007-12-20 · TA获得超过2778个赞
知道大有可为答主
回答量:1478
采纳率:0%
帮助的人:735万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式