数学建模社区-数学中国
标题:
matlab傅里叶实验
[打印本页]
作者:
2744557306
时间:
2023-12-23 16:21
标题:
matlab傅里叶实验
clear all
! Y# _2 Q: q. A' r: g' r E
syms x;
5 e% b* C4 G. I9 T, d6 _# X7 o: I
f=(exp(x)-1)*(sin(x)-1); %直接由已定义的符号变量产生符号表达式
F% D" G0 o2 p8 P! T: h
xx=-pi:pi/200:pi;
5 T; N0 [6 W: f f
yy=subs(f,x,xx); %将符号表达式中的x符号变量变为xx数值量求值
0 ?: r% X' X2 v2 H y5 a; F4 r5 B
n=9;
# Q/ @% \9 h4 c3 }- \
f1=fseries(f,x,n);
0 S1 L: c- k: c2 U
y1=subs(f1,x,xx);
: N1 v! l; Y! r7 |5 f1 V a
plot(xx,y1,xx,yy)
复制代码
function F=fseries(f,x,n,a,b)
/ y0 T9 D; ~; _# S9 E
if nargin==3 %若输入为三个参数(缺省)表示f(x)在[-pi,pi]上展开
0 R' ]0 v/ [( ?- r: B
a=-pi;
9 t) I! L l8 B1 M) J5 }' o/ d
b=pi;
: n" G& P5 Q7 v% N
end
3 E; }. g/ k$ J$ P- j3 N
L=(b-a)/2;
$ r5 v: B9 Z. k
F=int(f,x,-L,L)/2*L; %int(f,x,-L,L):以符号表达式或符号函数f为被积函数,x为积分变量,-L为下限,L为上限计算定积分
- o5 y, H, M# W: v
for i=1:n
2 V$ B5 A8 |. E8 ~- \8 u
an=int(f*cos(i*pi*x/L),x,-L,L)/L;
0 U! z0 Z6 g0 S( |/ s
bn=int(f*sin(i*pi*x/L),x,-L,L)/L;
1 |3 u; g4 X6 O% L8 r# i
F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
; _7 S3 p7 f% ?8 l% d2 @
end
8 l: g% r8 F8 C% s k% b2 m
复制代码
这段 MATLAB 代码使用了符号计算工具箱来进行函数的级数展开和绘图。以下是代码的逐行解释:
! ^, R1 r& H9 A2 a9 Q4 r) k) m& L/ n; d
$ {# h2 U/ e# h. R' L3 h
1.clear all: 清除当前工作区的所有变量。
. f8 c7 o, u7 ^2 t0 b3 C3 e
2.syms x;: 声明符号变量 x。
+ e4 i& v% I9 m, _0 ~+ i
3.f=(exp(x)-1)*(sin(x)-1);: 定义符号表达式 f,该表达式为 ((e^x - 1) \cdot (\sin(x) - 1))。
# t+ ]7 U; g# ~$ y- ~1 L; |+ x
4.xx=-pi:pi/200:pi;: 生成一个包含从 (-\pi) 到 (\pi) 的数值的向量 xx。
( J& r# ] m& f! F
5.yy=subs(f,x,xx);: 使用 subs 函数将符号表达式中的符号变量 x 替换为数值向量 xx,得到数值向量 yy。
6 D, U/ Z. m- l( \" T1 x
6.n=9;: 设定级数展开的阶数。
; h- o% M9 b1 S; f, M/ {
7.f1=fseries(f,x,n);: 使用 fseries 函数对符号表达式 f 进行级数展开,展开阶数为 n,得到符号表达式 f1。
4 L/ V# q. B4 _8 }
8.y1=subs(f1,x,xx);: 使用 subs 函数将符号表达式 f1 中的符号变量 x 替换为数值向量 xx,得到数值向量 y1。
: l- F$ E5 q! b% X# i9 v* u
9.plot(xx,y1,xx,yy): 绘制级数展开后的函数曲线 y1 和原始函数曲线 yy。
! A( u: p+ G- d1 [. ?
% @0 K$ n% I* v" D5 I
这段代码的目的是通过符号计算工具箱,展开给定函数的级数,并绘制级数展开后的函数曲线和原始函数曲线。
3 q' X1 B& X& i) Y
2023-12-23 16:20 上传
下载附件
(159.87 KB)
; v$ {" `, R) h. N: n2 r* ~( ?
/ L" i" [9 L9 r+ {: b
$ @5 k' p3 I0 e6 I& s/ u9 E
H2 I, d9 B4 [( @( {7 |7 O; x
+ ~! T. b9 p. \' k9 @
傅里叶级数实验.rar
2023-12-23 16:14 上传
点击文件名下载附件
下载积分: 体力 -2 点
734 Bytes, 下载次数: 0, 下载积分: 体力 -2 点
售价:
1 点体力
[
记录
] [
购买
]
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5