QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2023-12-23 16:21 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
  1. clear all
    : i\" B7 B3 _; F! K, d
  2. syms x;/ `\" U+ L/ X( i7 \: v5 v/ O! O: D
  3. f=(exp(x)-1)*(sin(x)-1);        %直接由已定义的符号变量产生符号表达式
    4 H& W5 V! u6 V; `2 d
  4. xx=-pi:pi/200:pi;
    : H$ J/ v8 y4 c8 p8 V
  5. yy=subs(f,x,xx);   %将符号表达式中的x符号变量变为xx数值量求值
    + ?  p% M/ H3 w1 ~$ x! c
  6. n=9;& U. e9 {' Y  |0 l
  7. f1=fseries(f,x,n); ! Z\" L: ~9 m4 S
  8. y1=subs(f1,x,xx);
    * Y! I( F7 F* {+ }
  9. plot(xx,y1,xx,yy)
复制代码
  1. function F=fseries(f,x,n,a,b), S3 `+ J( m$ ^$ m1 {
  2. if nargin==3                %若输入为三个参数(缺省)表示f(x)在[-pi,pi]上展开
    : _6 Y+ e# E4 R# r( a1 H' l4 d
  3.     a=-pi;
    $ ^8 Y5 Y/ d: c: F
  4.     b=pi;' E, g* m% h; Z- `
  5. end/ k/ Q* B* T+ g) x- N8 A2 A
  6. L=(b-a)/2;* p+ t( O+ S' a! T1 a* \& X' ?
  7. F=int(f,x,-L,L)/2*L;        %int(f,x,-L,L):以符号表达式或符号函数f为被积函数,x为积分变量,-L为下限,L为上限计算定积分  m& W& c9 b# o$ ?9 U
  8. for i=1:n! s$ P9 L: Q7 z% ]/ L
  9. an=int(f*cos(i*pi*x/L),x,-L,L)/L;* O; ~& p6 E$ Y! R, {
  10. bn=int(f*sin(i*pi*x/L),x,-L,L)/L;- s/ S# V5 n# Y( e! e
  11. F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);
    5 P) }# m6 s, k- M
  12. end
    8 I( e0 g( z9 U\" ?7 Q
复制代码
这段 MATLAB 代码使用了符号计算工具箱来进行函数的级数展开和绘图。以下是代码的逐行解释:* v; z7 ~# c: i! C
1 H' H& V# K" z: Z+ q/ e) I; N: J0 s
1.clear all: 清除当前工作区的所有变量。
6 t5 U' r/ U# A1 ^; U$ U; V2.syms x;: 声明符号变量 x。; e1 t- q: f6 a" e- \& u0 H- i, a- Z
3.f=(exp(x)-1)*(sin(x)-1);: 定义符号表达式 f,该表达式为 ((e^x - 1) \cdot (\sin(x) - 1))。
9 [2 Q, E! {- d% ]' x0 b4.xx=-pi:pi/200:pi;: 生成一个包含从 (-\pi) 到 (\pi) 的数值的向量 xx。( _  e; r% x  V. G3 b5 `; L
5.yy=subs(f,x,xx);: 使用 subs 函数将符号表达式中的符号变量 x 替换为数值向量 xx,得到数值向量 yy。
9 l. Z, K2 I) W6.n=9;: 设定级数展开的阶数。; Y2 W/ S+ L/ @" V3 s
7.f1=fseries(f,x,n);: 使用 fseries 函数对符号表达式 f 进行级数展开,展开阶数为 n,得到符号表达式 f1。2 E$ g) q7 o4 T; q7 G! `
8.y1=subs(f1,x,xx);: 使用 subs 函数将符号表达式 f1 中的符号变量 x 替换为数值向量 xx,得到数值向量 y1。
8 s8 n* b% t3 `# I0 p, ?9.plot(xx,y1,xx,yy): 绘制级数展开后的函数曲线 y1 和原始函数曲线 yy。* e9 O; i# V  X; d6 K
( Q' d5 r# \. R
这段代码的目的是通过符号计算工具箱,展开给定函数的级数,并绘制级数展开后的函数曲线和原始函数曲线。+ }) Z/ c& l& \2 B& h
QQ截图20231223160601.png 4 ~+ ]/ S, M" ^6 a2 Z
7 r' w  }( ?* T9 W

, i, N* [0 r' v/ a4 k# w
; S% b, s% x3 z) R. ]/ ~8 ]
3 e6 N2 l" S" D$ u' M" s5 D& s1 O

傅里叶级数实验.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-21 19:08 , Processed in 0.426853 second(s), 55 queries .

回顶部