回 帖 发 新 帖 刷新版面

主题:帮忙!!!两个题目!!

1,编制函数文件hillt.m 其调用格式为y=hillt(m,n),其中m,n为正整数,返回值为m*n的矩阵,且y(i,j)=1/(i+j),且满足:
(1)y=hillt(n)等价于调用y=hillt(n,n)
(2) 当输入成熟大于2个或没有参数时,给出报错信息“输入参数个数不对!”,当输出的参数不足一个时给出报错信息“输出参数只有一个!”。
2,由e^x=1+x+1/2!x^2+........+1/n!x^n+.....编程近似计算e
用拉格朗日型余项估计误差并精确1/1000000.
请高手帮忙!这两个题目我做了好长时间都没有做出来!

回复列表 (共10个回复)

沙发


2:function y=e
s=1;
t=1;
while t>10^-6
    for i=1:inf
        s=s+t;
        t=t/(i+1);
    end
end
y=s
这个可以直接运行出结果的饿

板凳

不过第一个题目我解不出来

3 楼

你还是继续请教其他高手吧!

4 楼

[em2]

5 楼

function y=hillt(m,n)
if nargin>2 || nargin==0,
    disp('输入参数个数不对!');
end
if nargout~=1,
    disp('输出参数只有一个!');
end
if nargin==1,
    n=m;
end
y=zeros(m,n);
for i=1:m,
    for j=1:n,
        y(i,j)=1/(i+j);
    end
end

6 楼

不过在2008版本的matlab中对于输入参数和输出参数都会自动给出错误了,上面程序中
nargin为输入参数个数
nargout为输出参数个数

7 楼


clc
clear
n=input('input n')
sum=1;
for i=1:n
    sum=sum+1/prod(1:i);
end 
sum;
class(sum)
vpa(sum,9)

8 楼

function [y varargout]=hillt(m,n,varargin)

if nargout<1
    disp('输出参数个数不对');
end
if nargin==0 || nargin>=3
    disp('输入参数个数不对');
    return; 
end 
if nargin==1
    n=m;
end 
 for i=1:m
for j=1:n
 y(i,j)=sym(1/(i+j),'r'); 
end     
     end 
end 

    

9 楼

1

10 楼

1

我来回复

您尚未登录,请登录后再回复。点此登录或注册