matlab怎么执行自己编写的程序?
functiony=qkst(a)%函数qskt是用快速排序法对向量排序[m,n]=size(a);ifmin(m,n)>1disp('输入参数应该是向量')y=[];r...
function y=qkst(a)
%函数qskt是用快速排序法对向量排序
[m,n]=size(a);
if min(m,n)>1
disp('输入参数应该是向量')
y=[];
return
end
n=length(a);
a=(a(:))';
if n==0
y=[];
elseif n==1
y=a;
else
pivot=a(1);
list1=[];
list2=[];
for k=2:n
if a(k)<pivot
list1=[list1,a(k)];
else
list2=[list2,a(k)];
end
end
y=[qkst(list1),pivot,qkst(list2)];
end
以上是自己照着书写的快速排序法程序,保存为m文件后双击,咋matlab命令窗口里输入一个向量a,在输入sqkt(a),结果出现以下提示,怎么回事。自己编写的函数如何调用?(本人初学,请详细接讲解)
??? Attempt to execute SCRIPT qskt as a function:
C:\Documents and Settings\Administrator\桌面\qskt.m 展开
%函数qskt是用快速排序法对向量排序
[m,n]=size(a);
if min(m,n)>1
disp('输入参数应该是向量')
y=[];
return
end
n=length(a);
a=(a(:))';
if n==0
y=[];
elseif n==1
y=a;
else
pivot=a(1);
list1=[];
list2=[];
for k=2:n
if a(k)<pivot
list1=[list1,a(k)];
else
list2=[list2,a(k)];
end
end
y=[qkst(list1),pivot,qkst(list2)];
end
以上是自己照着书写的快速排序法程序,保存为m文件后双击,咋matlab命令窗口里输入一个向量a,在输入sqkt(a),结果出现以下提示,怎么回事。自己编写的函数如何调用?(本人初学,请详细接讲解)
??? Attempt to execute SCRIPT qskt as a function:
C:\Documents and Settings\Administrator\桌面\qskt.m 展开
2个回答
展开全部
1、不支持中文路径,你路径理由中文“桌面”两字。你可以不程序放到没有中文路径的文件夹下。
2、MATLAB默认的工作目录为安装目录下的work目录中,所以你编写的自定义函数也可放在work目录中,并且,MATLAB调用函数不是以函数名为标志,而是以自定义函数保存的文件名标志,鉴于此,你可以把函数文件保存为函数名以方便识别和调用。
例子:%建立函数文件
function F=fun(x,y,z)
F=x^2+y^2+z^2;%函数关系或其他代码
%保存为fun.m(一定要注意这里)
%以后在其他程序里面或matlab命令里就可以调用如:y=fun(1,2,3)
2、MATLAB默认的工作目录为安装目录下的work目录中,所以你编写的自定义函数也可放在work目录中,并且,MATLAB调用函数不是以函数名为标志,而是以自定义函数保存的文件名标志,鉴于此,你可以把函数文件保存为函数名以方便识别和调用。
例子:%建立函数文件
function F=fun(x,y,z)
F=x^2+y^2+z^2;%函数关系或其他代码
%保存为fun.m(一定要注意这里)
%以后在其他程序里面或matlab命令里就可以调用如:y=fun(1,2,3)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询