[已解决] 如何输出运算结果

[复制链接]
oatuh 发表于 2019-11-3 15:57:58
本帖最后由 oatuh 于 2019-11-3 16:05 编辑

我想输出最终的结果:a,b,c,d,e,应该怎么操作?已经去掉分号了,不行。
syms xa ya xb yb a b c d e f;
xa=-100;
ya=-50;
xb=-270;
yb=-260;
e=(ya*xb-yb*xa)^2/((yb-ya)^2+(xb-xa)^2);
for xa=-100:10:-1;
  for ya=-50:10:-1;
    for xb=-270:50:-1;
        for yb=-260:50:-1;
        f=(ya*xb-yb*xa)^2/((yb-ya)^2+(xb-xa)^2)
        if (yb-ya)^2+(xb-xa)^2>=220*220;
        if (yb*xb-xa*yb)*(xa-xb)<=0;
            if xb<yb-70;
                if xa^2+ya^2<3600;
                    if e<=f
                        a=xa
                        b=ya
                        c=xb
                        d=yb
                        e=f
                    end
                end
            end
        end
    end
  end
end
end
end

最佳答案


Leedear 发表于 2019-11-3 18:41:41
我运行了一下你的程序,发现第17行的这个if语句有问题:你的判断条件没有满足,所以结果下面的语句不会执行。

4 条回复


20141303 发表于 2019-11-3 18:38:03
if (yb-ya)^2+(xb-xa)^2>=220*220;
        if (yb*xb-xa*yb)*(xa-xb)<=0;
两个逻辑判断为否,即不执行改为
if (yb-ya)^2+(xb-xa)^2<=220*220
              if (yb*xb-xa*yb)*(xa-xb)>=0
即可出结果
微信图片_20191103183657.png

Leedear 发表于 2019-11-3 18:41:41
我运行了一下你的程序,发现第17行的这个if语句有问题:你的判断条件没有满足,所以结果下面的语句不会执行。
回复此楼

20141303 发表于 2019-11-4 08:41:54
xa=-100;
ya=-50;
xb=-270;
yb=-260;
e=(ya*xb-yb*xa)^2/((yb-ya)^2+(xb-xa)^2);
for xa=-100:10:-1
  for ya=-50:10:-1
    for xb=-270:50:-1
        for yb=-260:50:-1
            f=(ya*xb-yb*xa)^2/((yb-ya)^2+(xb-xa)^2);
           if (yb-ya)^2+(xb-xa)^2<=220*220
              if (yb*xb-xa*yb)*(xa-xb)>=0
                 if xb<yb-70
                    if xa^2+ya^2<3600
                       if e<=f
                          a=xa
                          b=ya
                          c=xb
                          d=yb
                          e=f
                       end
                    end
                 end
              end
           end
        end
    end
end
end
我运行是这个程序,版本MATLAB2018b,输出结果就是上面截图

pxbfeng 发表于 2019-11-4 13:54:42
2013a版本,表示可以运行:lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表