PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
MATLAB
[讨论] 如何打出a = 2 8 32 128 512
楼主:
dxdy
(=ρdρdφ)
2019-02-06 16:44:48
for n=1:2:10
a(n)=2^n
end
结果显示
a = 2 0 8 0 32 0 128 0 512
要如何把0消掉?
我试了
for n=1:5
a(n)=2^(2*n-1)
end
结果显示
a = 2 8 32 128 512 0 128 0 512
为什么512后面会跑出0 128 0 512?
作者:
rex0707
(我就是我)
2019-02-06 17:51:00
是不是因为你把这两段code放在一起 所以a向量的大小跟上面的一样 而且后面几个元素的值没变
作者:
book5601
(苍澜野兽)
2019-02-06 20:04:00
先回复阵列内有零的问题,我记得matlab不用在变量后面括号也会自己储存成阵列。所以你只要把a(n)的(n)整个删除,再run一次应该就会有。第二个方法是直接把数值串联,a=[a 2^n]; 这是matlab才有的写法
作者:
profyang
(prof)
2019-02-06 21:20:00
请记得先用zeors之类的给定a的size...程式前面最好加个clear; clc;之类的...至少我是习惯这样做的上面打错 zeros
作者:
sppmg
(sppmg)
2019-02-06 23:43:00
插入0是因为阵列初始值为0,你第一个循环n=3时,阵列(2)未指定即为0。第二个循环问题则是因为刚刚的a没清除,所以(5)之后都是旧的值。还有就是MATLAB在指定元素超出范围时会即时配置一个新的阵列,然后再复制内容过去。所以a(100)=0是一个zeros之外的预配置内存的方法。(据说比较快)a=[a, 2*n+1] 很方便,但效能较差,因为每次循环都要花费配置内存+复制内容的时间。
作者:
sherees
(ShaunTheSheep)
2019-02-08 16:02:00
n = 1:10; a = 2 ^ nn = 1:2:10才对
作者:
bcpsowen
(pigbull)
2019-02-09 17:53:00
n=1:2:10a=2.^n矩阵运算比循环有效率 点乘蛮好用的
作者:
tn00364361
(小氵斿)
2019-02-12 00:01:00
.^正解,速度快很多
继续阅读
[讨论] 如何在直角坐标中加数字?
g318
MCR-ALS
wer00168
[讨论] fuzzy logic box问题
qqqq99369
[讨论] 如何在function中带入计算完成的类神经
justoneshoot
[讨论] 如何使用我train好的net?
g318
[其他] 如何让Json档转换成MAT?
wang19980531
[讨论] 如何使用循环概念加载多个table
andy850715
[讨论] 利用roi座标制作mask
micky116
[讨论] MATLAB程式%.2f被当成注解如何解决?
evolution907
[绘图] 绘制出原子力场图
karco
Links
booklink
Contact Us: admin [ a t ] ucptt.com