数学建模社区-数学中国

标题: 小弟请教一个matlab编程问题! [打印本页]

作者: 长大幸福    时间: 2011-4-19 23:01
标题: 小弟请教一个matlab编程问题!
我想请教一下各位大侠!用下面代码建了一个function文件
function f=Language(x,y,x0)
syms t;
if(length(x)=length(y))
    n=length(x);
else
    disp('x和y的维数不相等');
    return;
end
f=0.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+l;
    simplify(f);
end
f0=subs(f,'t',x0);

然后在命令窗口输入如下三行
x=0:0.5:3;
>> y=[ 0  0.4794  0.8415  0.9975  0.9093  0.5985  0.1411];
>> [f,f0]=Language(x,y,1.6)

老是显示      ??? Error: File: Language.m Line: 3 Column: 13
                    The expression to the left of the equals sign is not a valid target for an assignment.

请问各位大侠是哪里出错了!谢谢!



作者: ximogg    时间: 2011-4-19 23:12
第三行应该是if(length(x)==length(y))吧~~~~
作者: ximogg    时间: 2011-4-19 23:15
貌似你的程序出了这个错误还有错误。。。。。你自己再好好看看~~
作者: 长大幸福    时间: 2011-4-19 23:19
回复 ximogg 的帖子

额!谢谢哈!不过我看了很久还是不知道要怎么修改!请你帮帮忙好么?
作者: ximogg    时间: 2011-4-19 23:30
函数定义写错了。。。。。
function[f,f0]=Language(x,y,x0)
作者: ximogg    时间: 2011-4-19 23:31
在我这边调通了,应该没问题了~~~~
作者: 长大幸福    时间: 2011-4-20 12:46
回复 ximogg 的帖子

呵呵!谢谢你哈!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5