【发布时间】:2013-12-02 02:50:59
【问题描述】:
鉴于以下情况,我正在尝试重写向量的一部分:
t = -10:.1:10
x = exp((-3.*t);
x 的长度为 201,我想重写前 100 个值。
我开始工作的唯一方法就是这样做:
编辑修正错字。
t = 0:.1:10;
x = exp((-3.*t); % EDIT: THERE WAS A TYPO HERE
z = zeros(1,100);
for k = 1 : 100
x(k) = z(k);
end
共有三个问题。第一:什么是更快、更有效的方法?第二:如果我不想覆盖代码的第一部分而是中间或第二部分,我该怎么办?第三:有没有办法利用 t 的全部范围 t = -10:.1:10 而只是忽略前半部分而不是为其编写一个全新的变量?
首先:我尝试过的其他方法都没有成功。
第二:我能想到的唯一方法是将两个向量附加在一起,但它不会覆盖数据,所以这是不行的。
第三:我尝试了一个 if 语句,但根本不起作用。
【问题讨论】:
标签: matlab for-loop vector overwrite