当前位置: 首页 > 计算模拟 >用matlab求解方程式

用matlab求解方程式

作者 钟声入翠微
来源: 小木虫 500 10 举报帖子
+关注

假设a和b已知,a,b,x,y>0,求解x和y
a=[1+(0.0172*x)^2]^(-y/2)
b=y*arctan(0.0172*x)
希望可以提供程序代码,或者解!非常感谢! 返回小木虫查看更多

今日热帖
  • 精华评论
  • 独孤神宇

    引用回帖:
    9楼: Originally posted by 钟声入翠微 at 2021-07-08 14:23:57
    谢谢!(30000,0.05)这个初始值是自己根据实际情况设置,还是随意设置的呢?这次我运行出来了,但是感觉结果不是我想象中的那样。
    ...

    这个需要尝试,可以用 fsolve 函数随机赋值求解。

    结果不理想就要考虑方程是否正确,或者a,b取值是否合理。

    function example_0708
    clear;
    a=0.709133065;
    b=0.08555;
    x0 = [1,1];
    x = fsolve(@root2d,x0);
    fprintf('\tx=%.8f\n',x(1));
    fprintf('\ty=%.8f\n',x(2));

    function F = root2d(x)
    F(1) = (1+(0.0172*x(1))^2)^(-x(2)/2)-a;
    F(2) = x(2)*atan(0.0172*x(1))-b;
    end

    end

  • 钟声入翠微

    引用回帖:
    10楼: Originally posted by 独孤神宇 at 2021-07-08 16:30:14
    这个需要尝试,可以用 fsolve 函数随机赋值求解。

    结果不理想就要考虑方程是否正确,或者a,b取值是否合理。

    function example_0708
    clear;
    a=0.709133065;
    b=0.08555;
    x0 = ;
    x = fsolve(@root2d,x0);
    ...

    你的解答对我帮助很大,谢谢!

猜你喜欢