想用循环代替一下
我写的小程序,可是不知道应该用什么循环与就能代替一下,要不这么算有点太傻了。因为这是向量运算,所以它不让写成y(;,i)形式,给看看吧,谢谢了k=;
m=;
format long
x1=;
yk=m*x1
lx=inv(k)*yk
ly=m*lx
ykp1=ly/(lx'*ly)^0.5
r1=lx'*yk/(lx'*ly)
%
yk=ykp1
lx=inv(k)*yk
ly=m*lx
ykp1=ly/(lx'*ly)^0.5
r2=lx'*yk/(lx'*ly)
%
yk=ykp1
lx=inv(k)*yk
ly=m*lx
ykp1=ly/(lx'*ly)^0.5
r3=lx'*yk/(lx'*ly) 其实就是将上一个算完的值带入下一次运算。 k=;
m=;
format long;
x1=;
%yk=m*x1;
ykp1=m*x1;
for ii=1:3
yk = ykp1;
lx=inv(k)*yk;
ly=m*lx;
ykp1=ly/(lx'*ly)^0.5;
rr=lx'*yk/(lx'*ly);
eval(['r' num2str(ii) '=rr']);
end 另外,类似你这种形式,如果次数不算很多,可以不用循环,把上面我的代码里循环体部分用一个function fun1代替,然后r1=fun1(function需要的各个参数列表),r2=fun1(function需要的各个参数列表),就可以了。如果很多,最好是用我上面给出的循环的形式。 谢谢了 我逐个方法试一试 太感谢了!
页:
[1]