在Matlab中使用 nchoosek 函数时遇到麻烦,
警告是:Result may not be exact. Coefficient is greater than 9.007199e+15 and is only accurate to 15 digits.
所以我决定尝试使用符号表达式,如:
evalin(symengine,'nchoosek(100,50)')
它运行良好,但我想循环表达式,例如:
for i=1:50;
c(i)=evalin(symengine,'nchoosek(50,i)'); end
但它没有用,有什么建议吗?
答案 0 :(得分:0)
由于i
是一个数字而不是字符串部分中的setecetd,您应该通过将i
的值转换为字符串来创建字符串。因此,您可以尝试:
for i=1:50
c(i)=evalin(symengine,['nchoosek(50,',num2str(i),')']);
end
答案 1 :(得分:0)