wuchengyun9226 发表于 2014-12-19 14:54:52

使用MATLAB及W-M函数模拟分形粗糙表面

本帖最后由 wuchengyun9226 于 2014-12-19 15:03 编辑

这是文献里给出的模拟图形
请大神帮我看下,我在一片文献里看见用这个W-M函数来模拟粗糙表面的分形表示方法,文献里并没有给定n的范围是多少。
下面是我根据别人的指导改的程序:
clear
clc
G=1;
n=0.5:15;
x = 0:1:4000;
d =
f = @(x,n,d)1.5.^((d-2).*n).*cos(x.*1.5.^n.*2.*pi).*G.^(d-1)
g = @(x,d)arrayfun(@(x)trapz(n,f(x,n,d)),x)
plot(x,g(x,d(1)))
figure
plot(x,g(x,d(2)))


然后得出的图形为:


得出的数值跟文献里的也不同,而且文献里的图形是说随着D值的改变图形显示出的细节会越多,而且图形的幅值大小不会受到D值的影响。我这画出来的图D增大,幅值也增大,想请大家帮忙看看是程序里的什么问题还是什么
页: [1]
查看完整版本: 使用MATLAB及W-M函数模拟分形粗糙表面