作业帮 > 综合 > 作业

matlab y=(600000*600000*6*4*0.00424^2*(10^-12)*log(0.025/0.0

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 19:04:35
matlab
y=(600000*600000*6*4*0.00424^2*(10^-12)*log(0.025/0.01674)+103000*103000*0.003*(2*10^-5)^3)/(0.003*(2*10^-5)^3+6*4*0.00424^2*(10^-12)*log(0.025/0.01674));
fun=inline('x.*(y-(y-103000^2)*log(x./0.01674)/log(0.025/0.01674)).^0.5');
z=quad(fun,0.01674,0.025);
w=2*pi* z+pi*0.01674^2.*(y)^0.5-pi*0.025^2*103000
就是这样一个函数问题,我希望算出x值之后,将x的值放入第二个函数中继续计算,最终将z的值和x的值一起代入第三个式中算出w 但是在第二步一直有错,Error using ==> inline.subsref
Not enough inputs to inline function.
我的叙述有误,应该是算出y值后将y的值代入第二第三个式中
matlab y=(600000*600000*6*4*0.00424^2*(10^-12)*log(0.025/0.0
你错在
z=quad(fun,0.01674,0.025);
quad是一个求一元数值积分的函数,要求三个参数quad('函数名',积分下限,积分上限),而你的函数
fun=inline('x.*(y-(y-103000^2)*log(x./0.01674)/log(0.025/0.01674)).^0.5');
有两个未知量x和y,所以错了.修改如下:
fun=inline(['x.*(',num2str(y-(y-103000^2)),'*log(x./0.01674)/log(0.025/0.01674)).^0.5']);
经过如上修改就没有错误了.
再问: 貌似改了之后z的值计算错误啊 怎么回事 应该是60的 改了之后变成12了
再答: 你原始的问题我不知道,我只能根据现有问题解决语法错误。