用MATLAB编写一个函数文件
用MATLAB编写一个函数文件,使它具有以下性质:在调用该函数时,如果不指定输入量时,自动画单位圆;当输入量大于2的整数时,绘出指定边数的正多边形,外接圆半径为1;当输入...
用MATLAB编写一个函数文件,使它具有以下性质:在调用该函数时,如果不指定输入量时,自动画单位圆;当输入量大于2的整数时,绘出指定边数的正多边形,外接圆半径为1;当输入非正整数时,输出出错提示.
最后写出编程思路!
期末结业作业!急!! 展开
最后写出编程思路!
期末结业作业!急!! 展开
展开全部
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function zhidao_wxf(varargin)
if nargin==0 %画单位圆
theta=0:0.01:2*pi;
x=cos(theta);
y=sin(theta);
plot(x,y);
axis square
elseif nargin==1 %一个参数
n=varargin{1};
if (n>2)
x=[];
y=[];
for i=0:n
x=[x,cos(i*2*pi/n)];
y=[y,sin(i*2*pi/n)];
end
plot(x,y)
axis square
else
error('请输入大于2的整数')
end
else
error('输入的参数太多')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
返回Matlab中,测试:分别输入:
>> zhidao_wxf %出来一个单位圆
>> zhidao_wxf(1) %错误,参数1比2小,显示的是"请输入大于2的整数"
>> zhidao_wxf(8) %输出一个八边形
>> zhidao_wxf(2,3) %输出"输入的参数太多"提示
>> zhidao_wxf() 这个是不允许的,Matlab会报错。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function zhidao_wxf(varargin)
if nargin==0 %画单位圆
theta=0:0.01:2*pi;
x=cos(theta);
y=sin(theta);
plot(x,y);
axis square
elseif nargin==1 %一个参数
n=varargin{1};
if (n>2)
x=[];
y=[];
for i=0:n
x=[x,cos(i*2*pi/n)];
y=[y,sin(i*2*pi/n)];
end
plot(x,y)
axis square
else
error('请输入大于2的整数')
end
else
error('输入的参数太多')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
返回Matlab中,测试:分别输入:
>> zhidao_wxf %出来一个单位圆
>> zhidao_wxf(1) %错误,参数1比2小,显示的是"请输入大于2的整数"
>> zhidao_wxf(8) %输出一个八边形
>> zhidao_wxf(2,3) %输出"输入的参数太多"提示
>> zhidao_wxf() 这个是不允许的,Matlab会报错。
展开全部
function
[]=myfun()
%%%%
测试函数
clear;
clc;
myhelp(1,2)
function
output
=
myhelp(in1,in2,in3)
%%%
你需要的函数
if
nargin
==
1
%%%%
一个输入
a
=
1;
b
=
2;
elseif
nargin
==
2
%%%%
两个输入
a
=
2;
b
=
3;
elseif
nargin
==3
%%%%
三个输入
a
=
3;
b
=
4;
else
%%%%
其他情况,这里根据你需要修改,或者不要
a
=
0;
b
=
0;
end
output
=
2*a+b;
有问题欢迎追问,有帮助别忘了给采个纳。
copyright(c)
cxd1301
[]=myfun()
%%%%
测试函数
clear;
clc;
myhelp(1,2)
function
output
=
myhelp(in1,in2,in3)
%%%
你需要的函数
if
nargin
==
1
%%%%
一个输入
a
=
1;
b
=
2;
elseif
nargin
==
2
%%%%
两个输入
a
=
2;
b
=
3;
elseif
nargin
==3
%%%%
三个输入
a
=
3;
b
=
4;
else
%%%%
其他情况,这里根据你需要修改,或者不要
a
=
0;
b
=
0;
end
output
=
2*a+b;
有问题欢迎追问,有帮助别忘了给采个纳。
copyright(c)
cxd1301
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询