matlab - 使用for循环(MATLAB)时如何消除不需要的0?
问题描述
作为标题,我写了这些代码:
for n=1:2:10
a(n)=2^n;
end
disp(a)
我想得到答案
a = 2 8 32 128 512
但命令窗口中的输出是
a = 2 0 8 0 32 0 128 0 512
四个 0 是不需要的,我怎样才能消除这四个 0?
解决方案
当您使用不以 1 开头或错过某个值的线性索引0
时,matlab 用 some 填补空白:
所以你可以使用指数end+1
:
a = [];
for n=1:2:10
a(end+1)=2^n;
end
end
指示最后一个数组索引,因此end+1
在数组中创建一个新条目。
但是对于这么简单的事情,矢量化过程肯定更容易:
a = 2.^(1:2:10)
.^
元素级幂运算符在哪里。
推荐阅读
- python - python-entry widget Place change is not going to happen and Label creating problem
- php - 在 laravel excel 导入案例中找不到类 'App\imports\ExcelImport'
- c# - 如何将自动换行添加到 EditorGUILayout.TextArea?
- reactjs - 由于 gatsby webpack 配置,Jest 测试抛出错误
- jira - 使用 REST 登录 Jira
- html - 为什么 .clearfix 类的元素会崩溃?
- python - 使用 Python2 和 Python3 为 Ubuntu 18.04 安装 psycopg2
- vue.js - 在 Vuejs 中将函数作为道具传递不起作用
- node.js - 发生未处理的异常:无法读取未定义的属性“减号”
- javascript - Javascript Date.parse() 如何处理 UTC 格式的时区?