我有以下系列
我尝试了这段代码,但它没有打印最终结果......而是给出了一长串数字!
syms n
y = symsum(1/sqrt(n),[1,100])
Result:
y =
2^(1/2)/2 + 3^(1/2)/3 + 5^(1/2)/5 + 6^(1/2)/6 + % and so on....
那么问题是如何产生最终的数字作为答案?!
我应该使用这样的脚本吗?
y = 0;
for i = 1:1:100
y = y + (1/sqrt(i));
end
disp(y);
要回答原来的问题,您可以转换最初使用的符号表达式double http://www.mathworks.com/help/symbolic/double.html,从符号值转换为数值:
y = double(y)
或者实际上:
syms n
y = double(symsum(1/sqrt(n),[1,100]))
你得到 18.5896。
此外,您可以使用eval http://www.mathworks.com/help/matlab/ref/eval.html?searchHighlight=eval评估符号表达式(感谢 Luis Mendo)。
Yay!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)