QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2924

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-23 16:21 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. clear all3 S, b. `  g- `. B& e1 o
  2. syms x;
    7 C* I/ n. ~8 E; `! P! b4 S7 b5 D
  3. f=(exp(x)-1)*(sin(x)-1);        %直接由已定义的符号变量产生符号表达式
    6 e& W# Y% k. B- b) [' a0 ?
  4. xx=-pi:pi/200:pi;9 @, s5 d7 r! }5 ?$ N
  5. yy=subs(f,x,xx);   %将符号表达式中的x符号变量变为xx数值量求值
    & _, z/ x4 D8 L! J0 }  y: L% y
  6. n=9;( D4 R$ s' `$ l. @$ S+ i2 {
  7. f1=fseries(f,x,n);
    % R; K$ o\" f$ C6 o' N
  8. y1=subs(f1,x,xx);
    ! O0 t8 }, Y9 E+ \
  9. plot(xx,y1,xx,yy)
复制代码
  1. function F=fseries(f,x,n,a,b)
    0 j( @! Q% D: c- c
  2. if nargin==3                %若输入为三个参数(缺省)表示f(x)在[-pi,pi]上展开0 _: D: p. _, T( K) A
  3.     a=-pi;6 N8 X7 w. d3 U2 [) r& u  P
  4.     b=pi;
    , |$ R1 F* D5 L# Y
  5. end
    0 E' B% K7 F3 j4 }\" O
  6. L=(b-a)/2;\" }  {9 b$ y6 W
  7. F=int(f,x,-L,L)/2*L;        %int(f,x,-L,L):以符号表达式或符号函数f为被积函数,x为积分变量,-L为下限,L为上限计算定积分
    ; G- C2 W$ ]6 K1 ~8 k1 o' S
  8. for i=1:n
    + c2 f6 q1 H: a- \. V. X0 v
  9. an=int(f*cos(i*pi*x/L),x,-L,L)/L;
    3 {: ^. V9 P% y5 }% F6 ]6 P
  10. bn=int(f*sin(i*pi*x/L),x,-L,L)/L;
    ! ^  `. s$ o\" Q
  11. F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);) p/ y2 u- J\" m
  12. end2 R: a5 s2 o2 r4 K! l  N. s
复制代码
这段 MATLAB 代码使用了符号计算工具箱来进行函数的级数展开和绘图。以下是代码的逐行解释:- g5 O$ f# w# ^8 v8 a
1 W; I8 Y$ O! |+ H4 N$ i
1.clear all: 清除当前工作区的所有变量。( Q) c% U+ u4 F! o9 `4 i
2.syms x;: 声明符号变量 x。, ~* K8 ~, s2 f$ ?( m+ @" x
3.f=(exp(x)-1)*(sin(x)-1);: 定义符号表达式 f,该表达式为 ((e^x - 1) \cdot (\sin(x) - 1))。
4 b" N3 ~/ ?( E! ]" X0 I7 X4.xx=-pi:pi/200:pi;: 生成一个包含从 (-\pi) 到 (\pi) 的数值的向量 xx。
  n) I, _. J; v% ^* }5.yy=subs(f,x,xx);: 使用 subs 函数将符号表达式中的符号变量 x 替换为数值向量 xx,得到数值向量 yy。
8 ~4 n/ k( }5 S' _& F6.n=9;: 设定级数展开的阶数。
2 ^/ O. D" H% b. f7.f1=fseries(f,x,n);: 使用 fseries 函数对符号表达式 f 进行级数展开,展开阶数为 n,得到符号表达式 f1。
% p, A) k* y6 a. F8.y1=subs(f1,x,xx);: 使用 subs 函数将符号表达式 f1 中的符号变量 x 替换为数值向量 xx,得到数值向量 y1。
3 X9 T7 U3 U" C- C& k0 o9.plot(xx,y1,xx,yy): 绘制级数展开后的函数曲线 y1 和原始函数曲线 yy。
5 N& T' e0 M1 E% h: ]. v7 p; ~; C
9 M; r2 A2 j/ E- j  `7 f$ J这段代码的目的是通过符号计算工具箱,展开给定函数的级数,并绘制级数展开后的函数曲线和原始函数曲线。5 @) Z7 }2 f) O6 {% u
QQ截图20231223160601.png
% F; r  Y" H, j  y9 Q+ K5 ~0 t  t. p4 S; t& L1 |3 T' @, }
5 q( B( |/ H/ e8 i  j3 Z* J

8 a# A0 u0 B4 q! m3 N1 `
  ]+ p; z" {9 L  {

傅里叶级数实验.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, 2026-4-27 21:39 , Processed in 2.274074 second(s), 54 queries .

回顶部