How to avoid a loop using vectors?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, Is there a way to avoid using a for loop (or any loop for that matter) in the following?:
h=(10^-1).^[1:8];
x=pi;
r=5e-6.*rand(16,1);
for i=1:8
fminush(i)=cos(x-h(i))+r(i);
fplush(i)=cos(x+h(i))+r(i+8);
end
fder=(fplush-fminush)./(2*h);
plot(log(h),log(abs(-sin(x)-fder)))
I have tried redefining r to be of size 8 then adding it to both fminush and fplush, to no avail. Matlab would still alert for "matrix dimensions must agree". I'd be thankful for some advice.
0 件のコメント
回答 (1 件)
Azzi Abdelmalek
2013 年 11 月 9 日
編集済み: Azzi Abdelmalek
2013 年 11 月 9 日
h=(10^-1).^[1:8];
x=pi;
r=5e-6.*rand(1,16);
fminush1=cos(x-h)+r(1:8);
fplush1=cos(x+h)+r(9:16)
fder=(fplush-fminush)./(2*h);
plot(log(h),log(abs(-sin(x)-fder)),'r')
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!