嵌套For循环有助于

34次观看(过去30天)
人生米
人生米 2018年2月25日
回答: 法赫德HCT20212020年4月5日
你好
我试图在两列数据上使用嵌套的for循环。下面是我想要完成的一个例子
A = [1;2;3;4]
B = [4;3;2;1]
i = 1:数字(A)
j = 1:数字(B)
diff = A(i) - B(j)
结束
结束
我希望输出是[(1-4)(2-4)(3-4)(4-4)(1-3)(2-3)(3-3)(4-3)等],其中它完全遍历A矩阵,但每次从B矩阵中选择相同的值。本质上:A(1)-B(1), A(2)-B(1), A(3)-B(1), A(4)-B(1),并有一个包含所有迭代输出的输出矩阵。所以它应该是一个16x1矩阵有什么我做错了的建议吗?
1评论
Stephen23
Stephen23 2018年2月26日
编辑:Stephen23 2018年2月26日
请勿使用 diff 作为变量名!
因为这是内置的(非常有用的)函数 diff 不会起作用!
总是检查是否使用了变量名:
哪一个diff

登录评论。

接受的答案

大卫·弗莱彻
大卫·弗莱彻 2018年2月25日
你没有保留变量“diff”,而只是用最新的减法替换它。您可以在循环之前初始化diff=[],然后将赋值更改为diff=[diff A(i)-B(j)]。从计算上看,它不是很好,但应该能完成任务。
1评论
人生米
人生米 2018年2月25日
非常感谢!

登录评论。

更多答案(1)

法赫德HCT2021
法赫德HCT2021 2020年4月5日
定义变量
信谊;
f = @(我);
循环创建向量df1
我=;
引出= diff ();求f的第i阶导数
df1 (i) =潜艇();%代入x=1
结束%不改变这一行的代码
df1显示向量df1

类别

了解更多循环和条件语句帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!