f=@(x,y)h-3.086*(x^2)-20.4082*(y^2);
q=integral2(f,-1/(30.864)^(1/2),1/(30.864)^(1/2),-1/(204.082)^(1/2),1/(204.082)^(1/2));

有大佬知道这个matlab代码哪里错了么?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-Matlab_Fans 2021-06-11 19:07关注
1. 需要给h赋值;
2. f函数中针对x和y的^操作需要改成 .^
h = 1; f=@(x,y) h-3.086*(x.^2)-20.4082*(y.^2); q=integral2(f,-1/(30.864)^(1/2),1/(30.864)^(1/2),-1/(204.082)^(1/2),1/(204.082)^(1/2))
结果:
q = 0.0470
已知q求h的办法,下面的函数文件存成funq.m文件
function q = funq(h) f=@(x,y) h-3.086*(x.^2)-20.4082*(y.^2); q=integral2(f,-1/(30.864)^(1/2),1/(30.864)^(1/2),-1/(204.082)^(1/2),1/(204.082)^(1/2));
求解m脚本文件
q = 0.5; f = @(h) funq(h)-q; h0 = 1; h = fsolve( f,h0 )
结果:
Equation solved. fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient. <stopping criteria details> h = 9.9873
验算:
>> f(h) ans = 2.0365e-09 >> funq(h) ans = 0.5000
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 使用matlab进行手眼标定的仿真验证,得到齐次矩阵与opencv相差较大
- ¥15 Python词频统计,运行出的Excel没有内容
- ¥15 求推荐一个好用的录屏软件
- ¥15 kali显示no x11 display variable was set;
- ¥15 如何实现这个Python开发问题
- ¥15 Erasure Code纠删码表
- ¥15 用vite创建的vue3项目,404重定向不起作用??
- ¥15 关于#c语言#的问题:一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半计算6次小球反弹的高度.(反弹结果取整,使用走走for循环结构)
- ¥15 SurfaceControl的screenshot问题
- ¥15 基于51单片机的oled菜单代码,要C语言,模块化编程!