matlab中nan_matlab进阶3-几行代码实现图中图、局部放大图

7fbb711ec55fe4248f2b87b5995a1940.png

在数学中,魏尔斯特拉斯函数(Weierstrass function)是一类处处连续而处处不可导的实值函数。这个函数得名于它的发现者卡尔·魏尔斯特拉斯。 [1]

历史上,魏尔斯特拉斯函数是一个著名的数学反例。在此之前,数学家认为除了少数特殊点以外,连续函数在每一点处都可导。魏尔斯特拉斯函数是第一个被发现的处处连续而处处不可导的函数,说明了所谓的“病态”函数的存在性,改变了当时数学家对连续函数的看法,具有重要意义。

魏尔斯特拉斯函数_百度百科​baike.baidu.com
7fa6d82ce882560eac3aa42d4501094b.png
clear all;
clc;
close all
lambda =5;
H= 0.5;
N=10000;
[t, WCF] = Generate_WCF(lambda, H, N)
figure
h= plot(t,WCF,'b','linewidth',1);
hold on
xlabel('t')
ylabel('y')
grid on
hold on
h= plot(t(end-3000:end),WCF(end-3000:end),'r','linewidth',1);
h=fill([0 1 1 0],[ 1 1 4 4],'g')
h.FaceAlpha=0.1
h=fill([0 1 1 0],[ 1 1 -1 -1],'b')
h.FaceAlpha=0.1
set(gca,'linewidth',0.8,'fontsize',14)
axis([0,1 -1 4])
title('原图')
#此处省略一小部分,完整代码欢迎去公众号matlab-learner下载。
function [t, WCF] = Generate_WCF( lambda, H, N)
t = linspace(0,1,N); %N samples.
Kmax = 10;
aux = NaN(1,Kmax);
aux2 = NaN(Kmax,N);
for k = 1:Kmax
aux(k) = lambda^((-1)*(k*H));
aux2(k,:) = aux(k).*cos(2*pi*(lambda^k)*t);
end
WCF = sum(aux2);
end

2f4ce9d9d61e813d90f5a6719829130e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值