请用matlab做

来源:百度知道 编辑:UC知道 时间:2024/06/25 06:08:14
1.请写出:
a)用for循环语句计算K=1+r+r^2+…+r^1000(r<1)的程序;
b)用while循环语句计算K的程序;
c)避免循环时计算K的数值计算程序;

要求:用M函数文件来实现,M函数文件中应有H1行,在线帮助文本和程序编写人姓名;给出r为0.1运行结果。

做的好的追加分数,谢谢! 在线等.

function K=question(varargin)
%
%在线帮助
%K=question(r,method)
%计算K=1+r+r^2+…+r^1000的程序,method为计算的方法
%当method为0时,不用循环计算(此为默认值)
%当method为1时,用for循环计算
%当method为2时,用while循环计算
%
%例1:不用循环计算1+.1+.1^2+…+.1^1000
%question(.1)
%
%例2:用for循环计算1+.1+.1^2+…+.1^1000
%question(.1,1)
%
%例3:用while循环计算1+.1+.1^2+…+.1^1000
%question(.1,2)
%
%以上三个例子的运行结果均为1.1111
%
%作者:greatdju
%email:greatdju@126.com

if nargin<1||nargin>2
error('函数使用出错!该函数必须且只能有1个或2个参数。');
end

r=varargin{1};
if ~isnumeric(r)||length(r)~=1
error('函数使用出错!请确认第一个参数是一个数。');
end

if nargin==1
method=0;
else
method=varargin{2};
end

switch method
case 1%for循环
K=0;
for i=0:1000
K=K+r^i;
end
case 2%while循环
K=0;i=0;
while i<