我是靠谱客的博主 纯真绿草,最近开发中收集的这篇文章主要介绍matlab if m不等于0,matlab问题clearfor a=0.1:0.1:50for b=0.1:0.1:20for m=0.1:0.1:5,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2021/03/23 06:16:09

matlab问题

clear

for a=0.1:0.1:50

for b=0.1:0.1:20

for m=0.1:0.1:5

for k=1:1:15

n=(a*m)/(2*b)-m^2;

z=4*k-a*m;

x=(4*k-a*m)/(4*k-2*b*(m^2+n));

y=(4*k-a*m)/(4*k-2*b*m^2);

f=b^2*x^2*(m^2+n)-2*a*b*m*x-b^2*y^2*(m^2+4*n)+2*a*b*m*y;

if =0 && f>0 && n>3

disp([a,b,m,k,n])

end

end

end

end

end

上面程序,我明明在if条件里写了z不等于0,为什么运行的结果,计算出z是等于0的?

你好,我测试过了,您写的 if z~=0 && f>0 && n>3没有问题,当z=0的时候是进不去disp([a,b,m,k,n])的,所以z起到判断逻辑调价你的作用,不会对你的结果造成任何影响.如果你

方便的话,请你说明一下 你说的运行结果是什么结果!

再问: 4.0000 0.1000 3.0000 3.0000 51.0000

8.0000 0.1000 3.5000 7.0000 127.7500

上面截取了一段结果,计算一下z=4*k-a*m,都是为0.。。不知道咋回事。

再答: z值计算出来后是个浮点数,这个问题会影响你的。所以判断时希望你慎重。这个应该就是你的问题所在了。

希望你留意一下,matlab里面显示出来的数据,和 参数运算的数据类型不一致,你要试试。比如 0.0000001你显示的时候可能就是0 。不知道你明白我的意思了吗

再问: 谢谢,我大概明白了。我把z~=0改成了z-0>0,不知道这样表示可不可以。因为改完之后运行,没有显示结果,不知道是没有解还是这样表示不对。

再答: 你不能单纯的说大于0吧,如果z是负数的话,你写的那个是不是就又有问题了。你可以取绝对值然后和一个非常小的值比较 比如1e-06 c语言里面学过的,参考一下。建议你还是先测试你的if逻辑结构是否正确吧,调试一下,好运!

再问: 非常谢谢你!!

最后

以上就是纯真绿草为你收集整理的matlab if m不等于0,matlab问题clearfor a=0.1:0.1:50for b=0.1:0.1:20for m=0.1:0.1:5的全部内容,希望文章能够帮你解决matlab if m不等于0,matlab问题clearfor a=0.1:0.1:50for b=0.1:0.1:20for m=0.1:0.1:5所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(93)

评论列表共有 0 条评论

立即
投稿
返回
顶部