查看: 197|回复: 5|关注: 0

[已解决] matlab未定义与double类型的输入参数相对应的函数

[复制链接]

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案

按照一本matlab书上写的程序,然后报错了。

按照一本matlab书上写的程序,然后报错了。
按照一本matlab书上写的程序,然后报错了。
07GK5`R1OV6M(NXXCR~AV}Y.png
该怎么处理

function f= language(x,y,x0)
syms t;
if(length(x)==length(y))
    n=length(x);
else
    disp('x和y的维度不相等!');
    retuen;
end
f=0;
for(i=1:n)
    l=y(i);
    for(j=1:i-1)
        l=l*(t-x(j))/(x(i)-x(j));
    end;
    for(j=i+1:n)
        l=l*(t-x(j))/(x(i)-x(j));
    end;
    f=f+1;
    simplify(f);
    if(i==n)
        if(nargin==3)
            f=subs(f,'t',x0);
        else
            f=collect(f);
            f=vpa(f,6);
        end
    end
end

入门

90 麦片

财富积分


50500


2

主题

161

帖子

16

最佳答案
  • 关注者: 7
发表于 2019-10-9 10:34:44 | 显示全部楼层
这个意思是说你缺了一个函数simplify,你必须找到这个函数才行。

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2019-10-9 10:36:54 | 显示全部楼层
Leedear 发表于 2019-10-9 10:34
这个意思是说你缺了一个函数simplify,你必须找到这个函数才行。

那该怎么找,这个函数在matlab工具箱里

入门

90 麦片

财富积分


50500


2

主题

161

帖子

16

最佳答案
  • 关注者: 7
发表于 2019-10-9 10:50:49 | 显示全部楼层 |此回复为最佳答案
爱吃鱼的熊猫 发表于 2019-10-9 10:36
那该怎么找,这个函数在matlab工具箱里

不好意思,我以为这个是书上自己写的函数,刚才看了一下help,发现其是MATLAB自带函数,你的f是一个double型的数,但是simplify这个函数的输入根本不是double型的输入,所以会报错。

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2019-10-9 10:58:24 | 显示全部楼层
Leedear 发表于 2019-10-9 10:50
不好意思,我以为这个是书上自己写的函数,刚才看了一下help,发现其是MATLAB自带函数,你的f是一个doubl ...

嗯,那怎么让 f 符合simplify函数呢?能修改一下程序么? 我完全是小白一只,谢谢了。

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 2019-10-9 11:09:00 | 显示全部楼层
爱吃鱼的熊猫 发表于 2019-10-9 10:58
嗯,那怎么让 f 符合simplify函数呢?能修改一下程序么? 我完全是小白一只,谢谢了。 ...

问题解决了,谢谢兄弟了
我把f换成了一个表达式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表