[matlab]求问关于曲线积分方程的程序,详细见下面

作为一个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值

第1个回答  2016-05-04
>> syms t a positive
>> x=a/sqrt(2)*cos(t)+a/2;
>> y=a/sqrt(2)*sin(t)+a/2;
>> ans=simple(int(sqrt(x^2+y^2)*sqrt(diff(x,t)^2+diff(y,t)^2),t,0,2*pi))
ans =
4*a^2本回答被网友采纳