Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我来自Mathematica ,我想在MATLAB中创建它
pointers = Table[If[experiment[[i, 1]]^2 + experiment[[i, 2]]^2 > 1, 0, 1], {i, 1, npoints}]; 例如,对于npoints = 10,输出为{0,1,1,1,1,1,0,0,1,1}。 我试过了,但是错了! (我现在正在学习MATLAB,但是我从Mathematica那里学到了一些东西) assign=experiment(i,1)^2 +experiment(i,2)^2; if assign>1 assign=0; else assign=1; end pointers=assign(1:npoints); 我也这样做,得到输出1,但这是错误的: for i=1:npoints assign=length(experiment(i,1)^2 +experiment(i,2)^2); if assign>1 assign=0; else assign=1; end end pointers=assign 回答: 在第二个示例中,您需要索引pointers ,即write pointers(i) = assign; 而不在第二行中调用“长度”。 但是,一个更简单的解决方案是编写 pointers = (experiment(:,1).^2 + experiment(:,2).^2) |
![]() |
![]() |