用matlab求反函数k=1000;h=0.20;l=0.125;x=-0.15:0.001:0.15;e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);plot(x,e);求e关于x的反函数,求成成幂级数也行-0.15<x<0.15.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 09:14:30
用matlab求反函数k=1000;h=0.20;l=0.125;x=-0.15:0.001:0.15;e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);pl

用matlab求反函数k=1000;h=0.20;l=0.125;x=-0.15:0.001:0.15;e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);plot(x,e);求e关于x的反函数,求成成幂级数也行-0.15<x<0.15.
用matlab求反函数
k=1000;
h=0.20;
l=0.125;
x=-0.15:0.001:0.15;
e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);
plot(x,e);
求e关于x的反函数,求成成幂级数也行-0.15<x<0.15.

用matlab求反函数k=1000;h=0.20;l=0.125;x=-0.15:0.001:0.15;e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);plot(x,e);求e关于x的反函数,求成成幂级数也行-0.15<x<0.15.

求反函数,设变量为y,则展开之后为关于x的四次方程,可以求出解析解.

 

代码如下:

syms x
k=sym(1000);
h=sym(0.20);
l=sym(0.125);
e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);
syms y
x=solve(e-y,x)
color='rgbm';
for i=1:length(x)
    h=ezplot(x(i),[-3200 3200]);
    set(h,'color',color(i))
    hold on
end
axis([-3500 3500 -0.8 0.8])
title('')
lstr=arrayfun(@(i){sprintf('x(%i)',i)},1:4);
legend(lstr{:})

 

可以求出x关于y的表达式.上述代码绘制出来的图形:

由图可见,x(2)、x(3)是所需的反函数(按不同区间取不同的表达式).由于x的表达式过于复杂,这里不列出.

 

上面说到求解析解的方法,得到的表达式过于复杂而不方便直接应用.更实用的方法是采用多项式拟合(也就是你所说的幂级数).

多项式拟合的参考代码如下:

n = 7;

p = polyfit(e,x,n);
x1 = polyval(p,e);
plot(e,x,e,x1,'r--')
axis tight
legend('原始数据','拟合函数')

 

其中n为拟合多项式的阶次,可根据需要选择.p为拟合多项式的系数.取n=7时的效果如下图:

当然,也可以利用MATLAB绘图窗口中的Basic Fitting(位于Tools菜单)来对多种阶次的拟合结果进行比较.

用matlab求反函数k=1000;h=0.20;l=0.125;x=-0.15:0.001:0.15;e=k.*h./(h.^2+(x+l).^2)-k.*h./(h.^2+(x-l).^2);plot(x,e);求e关于x的反函数,求成成幂级数也行-0.15<x<0.15. 用matlab 求y=x^2的反函数 matlab的一个求反函数的问题H(a)=-a*log2(a)-(1-a)*log2(1-a),求出反函数,即求出二元熵函数的反函数! 用Matlab怎么求反函数 如何用matlab求得f=2*k/(2^k-1)的反函数 那位高手用MATLAB帮我解个六元四次方程组eq1='((l-k)*(n*l-p*k)+(h-l)*(p*h-m*l)+(k-h)*(m*k-n*h))/(sqrt((l-k)^2+(h-l)^2+(k-h)^2)*sqrt((n*l-p*k)^2+(p*h-m*l)^2+(m*k-n*h)^2))=a'eq2='(u*(l-k)+v*(h-l)+w*(k-h))/sqrt((l-k)^2+(h-l)^2+(k-h)^2)=b'eq 求大神用Matlab编程这个方程式,其中k=0.08,m=300000KG,g=o.98,v0 =800KM/h matlab中的求一个反函数?(c/2+k)exp(1)^(-m*t)+(d-k)exp(1)^(-m*t)=a/b+c/2上式中除了t以外其他都是已知的参数. matlab中f=x^2+y对y求反函数, matlab矩阵方程计算求使 M-aK的行列式等于0的a值M =[ l^2*m,0,0][ 0,l^2*m,0][ 0,0,l^2*m]K =[ k*h^2 + g*l*m,-h^2*k,0][ -h^2*k,2*k*h^2 + g*l*m,-h^2*k][ 0,-h^2*k,k*h^2 + g*l*m] 求问,用matlab 解符号非线性方程组的时候出现 matlab Explicit solution could not be foundsyms a b c d e f g h i j k l m n o;p=f*cos(k)+g*sin(a)+o-i*sin(c)-h*sin(b);q=f*sin(k)+g*cos(a)+h*cos(b)+i*cos(c)-n;r=f*cos(k)+g*sin(a)+j*sin(d)+o-e 用Matlab怎么求erfc的反函数怎么用matlab求erfc-1(x) matlab求反函数T=(K*m*p*U^2*R*((n0-n)/n0))/(2*pi*f*(R^2+((n0-n)/n0)^2));这是T vs n的原函数,现在要求n=f(T)的关系式, 求各位大侠帮我看个matlab程序,关于for循环的>> syms x h>> u(1)=x;>> for k=2:1:5u(k)=int(h*(diff(u(k-1))+u(k-1)^2-1),x);u(k)=u(k)+u(k-1)end怎样让它只输出最终结果,不输出中间结果 我在运行的时候算到k=7时,matlab matlab index=[k+1: 求高手用matlab求数值解求高手帮忙求如下方程组的数值解c2*(T-t)*[a+1/2*b(T-t)+1/3c*(T^2+Tt+t^2)]=0(c*t^2+b*t+a)*[(c1+c2+h/m+k/m^2)**exp(m*t)-(h+kt)/m-k/m^2-c2*(T-t)]=0其中:c1、c2、a、b、c、h、k、m均已知,需求T,t的 用Matlab如何求一个递推方程x(k+1)=1.005*x(k)-1000x(0)=100000当K等于何值时x(k)=0请高手帮我写个程序 matlab求数值微分麻烦各位大侠帮我求一下用matlab求一下微分方程数值解,其中h(0)=0.01,0