sunhu2003 发表于 2011-5-16 10:15

求助符号表达式组成的向量,这个错误怎么改?

不怎么懂符号表达式的东西。想得到一个函数组成的向量,程序如下    syms xi;
    for i=1:(n(1)+1)
      fai1(i)=0;
      for p=1:(n(1)+1)
            fai1(i)=fai1(i)+2/n(1)/c1(i)*(1/c1(p)*cos(p*acos(gChebyRoot(i,1)))*cos(p*acos(xi)));
      end
    end



除了xi其他都是数值,想生成fai,一个符号表达式组成的向量。结果有如下错误:


??? The following error occurred converting from sym to double:
Error using ==> sym.double at 29
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.

ChaChing 发表于 2011-5-18 00:18

gChebyRoot ??

sunhu2003 发表于 2011-5-19 12:02

回复 2 # ChaChing 的帖子

呵呵。一个变量。
问题已经解决了。
把fai1(i)=0改成fai1(i)=sym(0)就ok了

ChaChing 发表于 2011-5-19 15:48

回复 3 # sunhu2003 的帖子

习惯不同, 参考下
syms xi; fai1=sym(zeros(1,n+1));
for i=1:n+1
    for p=1:n+1
            fai1(i)=fai1(i)+2/n/c1(i)*(1/c1(p)*cos(p*acos(gChebyRoot(i,1)))*cos(p*acos(xi)));
    end
end

sunhu2003 发表于 2011-5-19 16:35

回复 4 # ChaChing 的帖子

你这是好习惯。呵呵。我是不太懂符号这类东西,所以写出来就有点生硬

ChaChing 发表于 2011-5-19 16:42

回复 5 # sunhu2003 的帖子

效率会较好些

sunhu2003 发表于 2011-5-19 16:44

回复 6 # ChaChing 的帖子

i see,thanks
页: [1]
查看完整版本: 求助符号表达式组成的向量,这个错误怎么改?