数学建模社区-数学中国
标题:
matlab傅里叶实验
[打印本页]
作者:
2744557306
时间:
2023-12-23 16:21
标题:
matlab傅里叶实验
clear all
7 A/ e! K# C( y
syms x;
: v, ?! y: E3 `+ s
f=(exp(x)-1)*(sin(x)-1); %直接由已定义的符号变量产生符号表达式
! P2 Y8 \3 m( L7 W2 v; O
xx=-pi:pi/200:pi;
N9 @) w4 F9 f
yy=subs(f,x,xx); %将符号表达式中的x符号变量变为xx数值量求值
8 a& D+ |5 E \: K( F F
n=9;
( A5 y' y4 ]' W' `2 B% m0 s% D2 s2 A! a
f1=fseries(f,x,n);
. k; o& @7 M, u- G" i
y1=subs(f1,x,xx);
/ R7 S% X( ~' e6 h0 n. j( O
plot(xx,y1,xx,yy)
复制代码
function F=fseries(f,x,n,a,b)
3 k( M3 ?4 K/ ]/ q% S2 V, D a8 q
if nargin==3 %若输入为三个参数(缺省)表示f(x)在[-pi,pi]上展开
! X6 J7 m2 v6 G0 E# G
a=-pi;
" ~0 d, u' {. [# @' V3 K
b=pi;
: q8 W0 g7 f b& F# _* L
end
; [" Z: b" G( N2 B7 F7 s
L=(b-a)/2;
" }4 w$ u- o3 s, o
F=int(f,x,-L,L)/2*L; %int(f,x,-L,L):以符号表达式或符号函数f为被积函数,x为积分变量,-L为下限,L为上限计算定积分
: a/ d( R0 Z, w' e9 Q
for i=1:n
6 P- I3 j! h% `: Y: P
an=int(f*cos(i*pi*x/L),x,-L,L)/L;
0 }) J8 D a! N. H3 | A
bn=int(f*sin(i*pi*x/L),x,-L,L)/L;
8 Z# x7 H \7 k; t! T! }
F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
, E" v/ q: ]1 [) N' O7 j1 R: s
end
9 D, N4 Q. v/ Y2 m; a1 H
复制代码
这段 MATLAB 代码使用了符号计算工具箱来进行函数的级数展开和绘图。以下是代码的逐行解释:
7 j, r8 B& h: ~( K6 T. i
) G$ O, |3 o$ n) V* W5 D! e: u
1.clear all: 清除当前工作区的所有变量。
+ B9 b4 b! c" e) t9 R3 M. ^
2.syms x;: 声明符号变量 x。
7 @: E3 S! d! t" x9 z) J6 f5 \4 i* J
3.f=(exp(x)-1)*(sin(x)-1);: 定义符号表达式 f,该表达式为 ((e^x - 1) \cdot (\sin(x) - 1))。
" Q/ ?1 `4 p. H- D p q% _$ \
4.xx=-pi:pi/200:pi;: 生成一个包含从 (-\pi) 到 (\pi) 的数值的向量 xx。
" `9 T! W+ V- M* S x7 G& _
5.yy=subs(f,x,xx);: 使用 subs 函数将符号表达式中的符号变量 x 替换为数值向量 xx,得到数值向量 yy。
# x/ |; y- w b5 w* {) J
6.n=9;: 设定级数展开的阶数。
* M* v% e. \, O ~' F& w. m: \
7.f1=fseries(f,x,n);: 使用 fseries 函数对符号表达式 f 进行级数展开,展开阶数为 n,得到符号表达式 f1。
( R; x- j9 ]! Y7 l9 H, Y
8.y1=subs(f1,x,xx);: 使用 subs 函数将符号表达式 f1 中的符号变量 x 替换为数值向量 xx,得到数值向量 y1。
1 |" K0 f( F0 s6 x% b. r
9.plot(xx,y1,xx,yy): 绘制级数展开后的函数曲线 y1 和原始函数曲线 yy。
$ L& `$ l- f/ \7 L
; h# t* c# Z& j
这段代码的目的是通过符号计算工具箱,展开给定函数的级数,并绘制级数展开后的函数曲线和原始函数曲线。
8 o# V+ V) q) u' L5 ?
2023-12-23 16:20 上传
下载附件
(159.87 KB)
1 I4 x3 l: |- k/ |7 j: Q; i0 c3 l; \
4 n( `7 O/ `: J# r% L9 k! K
9 f7 I- _ v) B$ E3 w5 \+ ~/ N
0 M9 i6 A5 O1 c- X, t. H
# A3 V% u2 J6 H* }$ L( v0 T
傅里叶级数实验.rar
2023-12-23 16:14 上传
点击文件名下载附件
下载积分: 体力 -2 点
734 Bytes, 下载次数: 0, 下载积分: 体力 -2 点
售价:
1 点体力
[
记录
] [
购买
]
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5