matlab中用spline代替solve/finvers求反函数

example:

Cg=sym('exp(-((-log(u))^alpha + (-log(v))^alpha)^(1/alpha))');

cu=diff(Cg,'u');
c=subs(cu,{'u','alpha'},[0.8,2]);

vr=linspace(0,1,1000);
tr=subs(c,'v',vr);

t=rand(100,1);
v=spline(tr,vr,t);

如果直接用solve/finvers求解c。matlab提示无解。

##

cu是Cg对u的偏导,c为偏导函数中带入u=0.8 alpha=2得到的只含变量v的函数。

vr和tr是为了生成一定数量的pairs,以便spline函数求反函数的时候插值。

plot(vr,tr,'--')

可以看到c函数的图。

t为随机生成的100个点,v是这100个点对应的反函数值!

如果是:

v=spline(vr,tr,t);

那么就是简单的插值。

help spline

可以看到spline的相关功能和用法。

    原文作者:argansos
    原文地址: https://blog.csdn.net/argansos/article/details/6930542
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞