首页 > 编程语言 >matlab练习程序(二维图形的傅里叶级数)

matlab练习程序(二维图形的傅里叶级数)

时间:2023-05-20 22:11:22浏览次数:56  
标签:end 级数 matlab func 傅里叶 pary parx

如何用傅里叶级数表示二维图形,首先要找到数学表达式,然后做傅里叶拟合即可。

我最初想的是$R= f(theta)$这样的式子,$R$是极径,$theta$是极角。

不过这样似乎处理不了$theta$一样的情况,比如图形有凹陷的情况。

后来看了一些文章说可以把$x$和$y$分开表示,即$x=f(t)$,$y=f(t)$,这样可以针对$x$和$y$分别做傅里叶拟合。

下面是一个简单的例子,用matlab自带函数做的优化,具体优化拟合方法可以参考之前的文章

matlab代码如下:

clear all;close all;clc;

p = load('pi.txt');
plot(p(:,1),p(:,2),'r-o');

X = p(:,1);
Y = p(:,2);

step = 1.0 / (length(X)-1);
t = (0:step:1)';

n = 40;
parx=rand(2*n+2,1);
pary=rand(2*n+2,1);

%%优化
options.Algorithm = 'levenberg-marquardt';
lb = [];ub = [];
f = @(parx) lossfunc(parx,X,t,n);
parx = lsqnonlin(f,parx,lb,ub,options);        %执行优化

f = @(pary) lossfunc(pary,Y,t,n);
pary = lsqnonlin(f,pary,lb,ub,options);        %执行优化

tt= 0:0.001:1;
xx = func(parx,tt,n);
yy = func(pary,tt,n);
hold on;
plot(xx,yy,'g.');

function re = lossfunc(par,x,t,n)          %损失函数
y =func(par,t,n);
re = x-y;
end

function y=func(a,x,n)          %傅里叶级数函数
y=a(1);
for i=1:n
    y= y + a(i*2)*cos(i*x*a(end)) + a(i*2+1)*sin(i*x*a(end));
end
end

结果如下:

pi.txt在这里下载

参考:https://www.bilibili.com/video/av62763042/?vd_source=e250bd9bac73fc4298a2ab7ec09ab393

标签:end,级数,matlab,func,傅里叶,pary,parx
From: https://www.cnblogs.com/tiandsp/p/17417836.html

相关文章

  • 级数
    思维导图https://zhimap.com/m/nRzWTUvg函数项级数笔记一、函数列与一致收敛性函数列的收敛与发散设\(f_1,f_2,\cdots,f_n,\cdots\)是定义在\(E\)上的函数列,\(x_0\inE\)若数列\(f_1(x_0),f_2(x_0),\cdots,f_n(x_0)\cdots\)收敛,则称函数列在点\(x_0\)收敛,\(x_0\)......
  • matlab如何通过命令查看主机相关信息
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 基于Graph-Cut算法的彩色图像深度信息提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要Graphcuts是一种十分有用和流行的能量优化算法,在图像处理领域普遍应用于前后背景分割(Imagesegmentation)、立体视觉(stereovision)、抠图(Imagematting)等,目前在医学图像领域应用较多。GraphCut(图形切割)应用于......
  • 基于GA遗传优化的CDVRP,CVRP,DVRP,TSP以及VRPTW常见路径优化问题求解matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:        TSP最优路径TSP最优路径TSP最优路径BestRoute:0->2->10->5->3->6->9->1->4->7->8->0TotalDistance=95.275km  DVRP最优路径DVRP最优路径DVRP最优路径总路程=19......
  • 基于Graph-Cut算法的彩色图像深度信息提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要       Graphcuts是一种十分有用和流行的能量优化算法,在图像处理领域普遍应用于前后背景分割(Imagesegmentation)、立体视觉(stereovision)、抠图(Imagematting)等,目前在医学图像领域应用较......
  • m基于低复杂度高性能BP译码算法的LDPC编译码性能matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现简单,易于进行理论分......
  • 基于GA遗传优化的CDVRP,CVRP,DVRP,TSP以及VRPTW常见路径优化问题求解matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:TSP最优路径TSP最优路径TSP最优路径BestRoute:0->2->10->5->3->6->9->1->4->7->8->0TotalDistance=95.275kmDVRP最优路径DVRP最优路径DVRP最优路径总路程=198.801kmBestRoute:0->10->......
  • m基于低复杂度高性能BP译码算法的LDPC编译码性能matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要       LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能......
  • 基于PSO优化的OFDM系统PAPR抑制PTS算法MATLAB仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       部分传输序列(PartialTransmitSequence,PTS)由于其不受载波数量限制,并且能够有效的,无失真的降低OFDM信号峰均比,而受到广泛关注。部分传输序列算法(PTS)最初是由S.H.Muller和J.B.H......
  • m异构蜂窝网络的K-Tier下行链路的matlab性能仿真,对比网络Voronoi图,覆盖率等
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要       蜂窝网络正在从精心规划的一组大型塔式基站(BSs)对异构基础设施元素的非常规部署,通常还包括微、微微和以及分布式天线。在本文中,我们为下行链路开发易于处理、灵活和精确的......