QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1957|回复: 0
打印 上一主题 下一主题

[代码资源] matlab傅里叶实验

[复制链接]
字体大小: 正常 放大

1171

主题

4

听众

2780

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-23 16:21 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. clear all
    : ^7 i! a\" d6 o
  2. syms x;% l% Z! f6 m; {  r$ p' A
  3. f=(exp(x)-1)*(sin(x)-1);        %直接由已定义的符号变量产生符号表达式
    ! v4 H2 d5 \) @: V4 Q8 q
  4. xx=-pi:pi/200:pi;
    3 t+ ~# S/ b6 t) z
  5. yy=subs(f,x,xx);   %将符号表达式中的x符号变量变为xx数值量求值/ ?2 X5 U, u6 h# t# K9 c
  6. n=9;% C8 ]0 F, L. X
  7. f1=fseries(f,x,n); 4 A( d; [\" w* k7 |4 l- E2 K6 L
  8. y1=subs(f1,x,xx);
      l5 T6 s9 P+ d# {/ X
  9. plot(xx,y1,xx,yy)
复制代码
  1. function F=fseries(f,x,n,a,b): j* U: I- P/ |8 P- t: X
  2. if nargin==3                %若输入为三个参数(缺省)表示f(x)在[-pi,pi]上展开
    / W\" n6 U# b  }\" U; P! Q7 f
  3.     a=-pi;
      M; [2 I% {( J* B) Q  I
  4.     b=pi;
    & l& H0 i/ y6 v0 E2 z; x7 |6 ]; V
  5. end
    / B$ U2 ]$ ~1 m. g
  6. L=(b-a)/2;
    0 S: P: g) u/ n# f( O
  7. F=int(f,x,-L,L)/2*L;        %int(f,x,-L,L):以符号表达式或符号函数f为被积函数,x为积分变量,-L为下限,L为上限计算定积分  c( j5 ^( z+ V. j% s
  8. for i=1:n6 Y5 R3 Y! v# X: q! R7 f+ g2 ?5 ~
  9. an=int(f*cos(i*pi*x/L),x,-L,L)/L;1 |0 ?4 p! O9 g
  10. bn=int(f*sin(i*pi*x/L),x,-L,L)/L;6 ]3 r! z; l8 i: q. o7 ~2 R) w8 D4 m2 s
  11. F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);- R\" v$ h8 f\" n4 P  t
  12. end
    / Y8 f9 i+ E& y, s
复制代码
这段 MATLAB 代码使用了符号计算工具箱来进行函数的级数展开和绘图。以下是代码的逐行解释:
' ]) ?$ ^% j* L% T( V. Z
) Q- S# j6 b0 l5 {1.clear all: 清除当前工作区的所有变量。" ?9 |- O" O! F. M! D
2.syms x;: 声明符号变量 x。
/ X2 O; U- x: p3.f=(exp(x)-1)*(sin(x)-1);: 定义符号表达式 f,该表达式为 ((e^x - 1) \cdot (\sin(x) - 1))。
/ r6 D9 _+ i5 t9 a4.xx=-pi:pi/200:pi;: 生成一个包含从 (-\pi) 到 (\pi) 的数值的向量 xx。0 E# A# T. A8 x6 I- D  |7 r/ L
5.yy=subs(f,x,xx);: 使用 subs 函数将符号表达式中的符号变量 x 替换为数值向量 xx,得到数值向量 yy。
6 y3 L" [" @% C( l) E6.n=9;: 设定级数展开的阶数。( V: F* @& z* @6 g% l$ Z" @+ Q
7.f1=fseries(f,x,n);: 使用 fseries 函数对符号表达式 f 进行级数展开,展开阶数为 n,得到符号表达式 f1。) E4 i/ z9 m# ]7 V3 |
8.y1=subs(f1,x,xx);: 使用 subs 函数将符号表达式 f1 中的符号变量 x 替换为数值向量 xx,得到数值向量 y1。! e0 X) C1 B) Q6 K( `$ o# {* t
9.plot(xx,y1,xx,yy): 绘制级数展开后的函数曲线 y1 和原始函数曲线 yy。
/ m' f- n6 `6 |1 Q& D
0 p0 ?! _8 G$ T! M& x8 J5 }这段代码的目的是通过符号计算工具箱,展开给定函数的级数,并绘制级数展开后的函数曲线和原始函数曲线。' G. s) Q! [8 n6 N
QQ截图20231223160601.png
9 I  ?1 I- E3 J1 c, M6 F* A' n: X/ E- b0 D6 W! U5 A! L

+ O$ @2 j! G! {8 \4 J5 P) e: Q9 y5 p$ y: ~' ]
- W: o3 i* c& J9 C' W1 I2 r

傅里叶级数实验.rar

734 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 1 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-6-23 02:46 , Processed in 0.286214 second(s), 54 queries .

回顶部