24小时热门版块排行榜    

查看: 1624  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

张抛砖

银虫 (小有名气)

[求助] matlab 中while语句用法请教已有1人参与

A=[0,0;0,0];
B=[1,1;1,1];
while(A~=B)   
      A=B;
     B=[1,0;0,1];
end
运算结果 A=[1,1;1,1];  B=[1,0;0,1];
如上程序中,,A初值为零矩阵,B初值为1矩阵。。while判断条件“A不等B”是否成立,成立,把B赋值给A;;然后给B赋新值B=[1,0;0,1]; ;最后再次执行while ,条件成立,把B赋值给A=[1,0;0,1];;最后....第三次执行while ,条件不成立,也即A=B,则跳出while循环。。最后输出的结果是A和B相等的,都是[1,0;0,1]。。。你看我这样理解什么地方出错了????

想要把B的值[1,0;0,1]赋给A,,又该怎么修改程序呢
回复此楼
菠萝菠萝蜜
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
判断两个矩阵是否相等应该用 isequal(A, B)。
知其然,知其所以然。
2楼2016-03-20 13:24:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 张抛砖 at 2016-03-20 15:38:51
但程序应该怎么改,,才能实现程序目的呢...

A~=B  改成 ~isequal(A,B)
知其然,知其所以然。
4楼2016-03-20 17:49:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 张抛砖 的主题更新
信息提示
请填处理意见