我在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
请问这是怎么回事啊? 展开
比如,我做一个阶跃函数
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
请问这是怎么回事啊? 展开
4个回答
展开全部
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的支持。
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的支持。
展开全部
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)
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)
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询