作业帮 > 综合 > 作业

MATLAB如何求(cos(x)/x)*(1-2!/x^2+4!/x^4-.)后,并能求给x赋一个范围的值如1-100的

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 15:00:38
MATLAB如何求(cos(x)/x)*(1-2!/x^2+4!/x^4-.)后,并能求给x赋一个范围的值如1-100的结果,谢谢
谢谢了
MATLAB如何求(cos(x)/x)*(1-2!/x^2+4!/x^4-.)后,并能求给x赋一个范围的值如1-100的
我只能告诉你:
你的这个题目当x取比较小的值的时候
1-2!/x^2+4!/x^4-.算出的数是非常大的,级数的项数越多越明显
随着x的增大,效果会好一些,但项数多了也不行的,更不用说道inf了
但如果用数值方法做,不用符号,更是到不了inf的
给你2种算法,你自己比较吧,反正很别扭:
符号法:
clear all;clc;
syms k x
s1=symsum((-1)^k*sym('(2*k)!')/x^(2*k),k,0,50);
s2=(cos(x)/x)*s1;
s=subs(s2,{x},{1:100});
------------------------------------------------
数值法:
clear all;clc;
x=1:100;N=length(x);
sum=ones(N,1);
for p=1:N
for k=1:80
a(p,k)=(-1)^k*factorial(2*k)/x(p)^(2*k);
sum(p)=sum(p)+a(p,k);
y(p)=(cos(x(p))/x(p))*sum(p);
end
end