作为一个matlab的渣滓,我之前也百度试了好多,但是还是失败了
>> y11=@(x)6*(-6E-007)*(x.^5)-5*(5E-005)*(x.^4)-4*0.0021*(x.^3)-3* 0.0495*(x.^2)-2*0.7037*x-6.8982;
>>y22=@(x)sqrt(1+(6*(-6E-007)*(x.^5)-5*(5E-005)*(x.^4)-4*0.0021*(x.^3)-3* 0.0495*(x.^2)-2*0.7037*x-6.8982)*(6*(-6E-007)*(x.^5)-5*(5E-005)*(x.^4)-4*0.0021*(x.^3)-3* 0.0495*(x.^2)-2*0.7037*x-6.8982));>> g=@(b)quadl(y22,a,b)-val;
>> b=fzero(g,a);
然后求b
y11,y22后面就是把y11手动平方了……是手动算的一个函数的一次导
然而,这样就成了下面的报错
Error using fzero (line 289)
FZERO cannot continue because user supplied function_handle ==> @(b)quad(y2,a,b)-val failed with the error below.
Inner matrix dimensions must agree.
希望大神能帮我看看要怎么改才对,如果实在不能改,能不能给我说一下程序应该怎么写……
诶 上面有点错误 是这样的
y11是手动算的一个函数的一次导
y22后面就是把y11手动平方了……
val=10
刚刚看了一个答案 没有看懂 但是按道理应该是得出一个数字的
其实就是我想算出在这个曲线长度=10的时候那个x值