关于matlab求解函数的问题有一个函数组y=(1-(1-x^0.25)^4)+10*x;z=10*(1-(1-x^0.25)^4);y,z都是关于x的函数,现在知道了y值,且y值在不停的变化,求出随着y值变化时的z值y=0:0.1:12;用matlab怎么解决?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 01:09:12
![关于matlab求解函数的问题有一个函数组y=(1-(1-x^0.25)^4)+10*x;z=10*(1-(1-x^0.25)^4);y,z都是关于x的函数,现在知道了y值,且y值在不停的变化,求出随着y值变化时的z值y=0:0.1:12;用matlab怎么解决?](/uploads/image/z/7117400-56-0.jpg?t=%E5%85%B3%E4%BA%8Ematlab%E6%B1%82%E8%A7%A3%E5%87%BD%E6%95%B0%E7%9A%84%E9%97%AE%E9%A2%98%E6%9C%89%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E7%BB%84y%3D%281-%281-x%5E0.25%29%5E4%29%2B10%2Ax%3Bz%3D10%2A%281-%281-x%5E0.25%29%5E4%29%3By%2Cz%E9%83%BD%E6%98%AF%E5%85%B3%E4%BA%8Ex%E7%9A%84%E5%87%BD%E6%95%B0%2C%E7%8E%B0%E5%9C%A8%E7%9F%A5%E9%81%93%E4%BA%86y%E5%80%BC%2C%E4%B8%94y%E5%80%BC%E5%9C%A8%E4%B8%8D%E5%81%9C%E7%9A%84%E5%8F%98%E5%8C%96%2C%E6%B1%82%E5%87%BA%E9%9A%8F%E7%9D%80y%E5%80%BC%E5%8F%98%E5%8C%96%E6%97%B6%E7%9A%84z%E5%80%BCy%3D0%3A0.1%3A12%3B%E7%94%A8matlab%E6%80%8E%E4%B9%88%E8%A7%A3%E5%86%B3%3F)
关于matlab求解函数的问题有一个函数组y=(1-(1-x^0.25)^4)+10*x;z=10*(1-(1-x^0.25)^4);y,z都是关于x的函数,现在知道了y值,且y值在不停的变化,求出随着y值变化时的z值y=0:0.1:12;用matlab怎么解决?
关于matlab求解函数的问题
有一个函数组
y=(1-(1-x^0.25)^4)+10*x;
z=10*(1-(1-x^0.25)^4);
y,z都是关于x的函数,现在知道了y值,且y值在不停的变化,求出随着y值变化时的z值
y=0:0.1:12;
用matlab怎么解决?
关于matlab求解函数的问题有一个函数组y=(1-(1-x^0.25)^4)+10*x;z=10*(1-(1-x^0.25)^4);y,z都是关于x的函数,现在知道了y值,且y值在不停的变化,求出随着y值变化时的z值y=0:0.1:12;用matlab怎么解决?
从原理上说,相当于已知 y=f(x),z=g(x),现在想求出函数 z=h(y) 来.
如果 f 的逆函数 x=F(y) 能求出来,那么问题就会非常简单,直接代入 z=g(x)=g(F(y)) 即可.但现在的问题在于,f 的逆函数的显式表达式很难求出来,那么比较有可操作性的就是用数值方法来做.
对于y=0:0.1:12,可以绘制y-x曲线:
ezplot('(1-(1-x^0.25)^4)+10*x',[0 1.2])
axis auto
可见,取x=1-1.2之间,足以提供y=0-12之间的值,而且y随x单调变化,所以可以使用插值的方法由y来求得相应的x,然后再代入g(x)求出z即可:
x=[0:0.000001:0.02 0.03:0.01:1.2];
y=(1-(1-x.^0.25).^4)+10*x;
yi=0:0.1:12;
xi=interp1(y,x,yi);
z=10*(1-(1-xi.^0.25).^4);
plot(yi,z)
xlabel('y')
ylabel('z')
需要说明的是,在x=0附近y变化比较剧烈,而后面变化平缓,所以在x<0.02时取较小的步长以确保精度.