简单matlab问题,错误Undefined function ✀nest✀ for input arguments of type ✀double✀.怎么改

2025-01-01 01:11:44
推荐回答(2个)
回答1:

程序本身没什么问题。

请确保函数nest是保存成文件nest.m,而且文件位于当前目录或者path列表的某个文件夹里面。

 

或者换一种方式,把脚本改成函数,然后把nest函数保存在同一个文件里面:

function zd1734042109848362947
format long
%步骤1 Establishing a matrix d which contains all the coefficient
d = repmat([1 -1],1,50);
%步骤2 Evaluates polynomial from nested form using nest.m
result = nest(99,d,1.00001,zeros(1,99));
%步骤3 
%The simpler expression is (1-x^100)/(1+x)
%Use this expression to estimate the error of the nested multiplication
true_result = (1-1.00001^100)/(1+1.00001);
error = true_result - result;
fprintf('The result of nest multiplication is %f\n',result);
fprintf('The correct result is %f\n',true_result);
fprintf('The error of nest multiplication is %f\n',error);

function y=nest(d,c,x,b)
format long
if nargin<4, b=zeros(d,1); end
y=c(d+1);
for i=d:-1:1
    y = y.*(x-b(i))+c(i);
end

其中第一个函数的名字可以任意取,保存的文件名也任意(但需要符合函数以及M文件的命名规则),运行结果如下:

The result of nest multiplication is -0.000500
The correct result is -0.000500
The error of nest multiplication is 0.000000

回答2:

你的nest文件放在当前目录下了么??