讨论求知 发表于 2009-10-11 08:52

一个编程问题

我用数值方法计算了1000个数值
用for语句进行循环1000次分别对这1000个数值进行判断
然后储存判断后的1000个数值。做出时间t与这1000个数的函数关系图

我的问题是      储存这分别循环后的1000个数应如何表达?最后能做出时间t与循环后数值的关系图
这个我没搞明白,请高手指点一下
谢谢

VibrationMaster 发表于 2009-10-11 10:15

原来1000个数放在哪里?,文件里?

讨论求知 发表于 2009-10-11 10:45

回复 沙发 VibrationMaster 的帖子

没有啊,就是刚刚计算出来
用龙格库塔法计算的
不是太复杂

VibrationMaster 发表于 2009-10-11 14:43

龙个哭他法出来之后不是放在数组里面? 对数组处理之后仍然放在新数组(就的也行)里面。 整个循环结束后再plot?

讨论求知 发表于 2009-10-11 17:43

回复 地板 VibrationMaster 的帖子

恩,对啊
龙格库塔法解出来放在数组里,然后分别对每一个数进行判断,然后在储存在数组里,在用plot
我的问题是判断后如何储存在数组中,可以用plot输出
也许这个问题很简单,但我确实不明白

VibrationMaster 发表于 2009-10-11 20:11

假定A是原来的数组,执行

B=zero(size(A));

for k1=1:length(A)
   if(A(k1)>0) % or other condition
         B(k1)=A(k1)^2; % your operation
   else
         B(k1)=-A(k1)^2; % your operation
   end
end
plot(B)

讨论求知 发表于 2009-10-12 07:58

回复 6楼 VibrationMaster 的帖子

多谢啊
我运行程序出现??? Undefined function or method 'zero' for input arguments of type 'double'.
是怎么回事啊
我自己仿照你的编的程序
B=zero(size(A));
for k1=1:length(A)
   if(A(k1)>4) % or other condition
         B(k1)=A(k1)-2; % your operation
   elseif(-4<A(k1)<4)
         B(k1)=0; % your operation
   elseif(A(k1)<-4)
         B(k1)=A(k1)+2;
   end
end
plot(B)
帮我看看有结构上的错误码
在此感谢啊

ChaChing 发表于 2009-10-12 08:39

回复 7楼 讨论求知 的帖子

TRY
B=zeros(size(A));

[ 本帖最后由 ChaChing 于 2009-10-12 08:40 编辑 ]

讨论求知 发表于 2009-10-12 10:08

回复 8楼 ChaChing 的帖子

呵呵
真是不好意思,这点小问题自己都没检查出来。
我想我的问题解决了
谢谢大家

ChaChing 发表于 2009-10-12 11:07

回复 9楼 讨论求知 的帖子

若不是报错, 我也没注意到!:@L
页: [1]
查看完整版本: 一个编程问题