在Matlab中创建间隔[a,b]的线性对数对数线性分区,但要匹配步骤

时间:2018-08-01 20:43:07

标签: matlab vector partitioning

我想以以下方式创建从xa的向量b。 我有一个兴趣点ca<c<b和一个比率r

1.-从ac-r的步骤是线性的,也就是说,给定n1

x1=linespace(a,c-r,n1);

2.-同样从c+rb,给定n4

x4=linespace(c+r,b,n4);

3.-从c-rc,我想要对数/指数步长,即给定n2

L=linespace(exp(c-r),exp(c),n2);
x2=log(L);

4.-从cc+r,它与前一个类似,但是在给定n3的情况下指数递减:

K=-log(c+r)/r;
fun=fcnchk([num2str(c),'*exp(',num2str(K),'*(x-',num2str(c),'))']);
L=linspace(feval(fun,c),feval(fun,c),n3);
ifun=fcnchk(['(1/',num2str(K),')*log(x/',num2str(c),')+',num2str(c)]);
x3=feval(ifun,L);

最后:

x=[x1(1:end-1) x2(1:end-1) x3(1:end-1) x4];

现在,我的想法是,如果dx1=x1(end)-x1(end-1)dx2=x2(2)-x2(1),我想选择n2,或使用适当的ce^(kx)函数,使dx1=dx2 。类似地,dx3=x3(end)-x3(end-1)应该等于dx4=x4(2)-x4(1)

0 个答案:

没有答案