How to make this "for" loop work?

Hi, I would like to get all nine possible values of these two sets of s and c vectors. When I try to use for loop, I only get one value. Can anyone please help in making this loop work?
Thank you.
close all; clc; clear all;
s = [1.2535 1.2535 1.2535
c = [0.0 0.5 1.0]
for i=1:100%:5;
for j=1:20%:5;
Formula = s(i)/(sqrt(c(j)));
end
end

 采纳的回答

Cedric
Cedric 2017-10-16
编辑:Cedric 2017-10-16
s = [1.2535 1.2535 1.2535]
c = [0.0 0.5 1.0]
Formula = zeros( numel(s), numel(c) ) ;
for i=1:3
for j=1:3
Formula(i,j) = s(i)/sqrt(c(j));
end
end
but if you have a recent version of MATLAB, it is simpler to do it using an expansion:
Formula = s.' ./ sqrt(c) ;

4 个评论

Thanks Cedric for the suggestion. How about if I have different size vectors, like the one shown below? In this case I will have 18 possible values out of the formula. Can you please suggest to me how to build the loop? Thanks
s= [1.2535 1.2535 1.2535];
c=[0.0 0.5 1.0 1.5 1.4 1.5]
I should have done it in my initial answer directly. Here it is:
s = [1.2535 1.2535 1.2535] ;
c = [0.0 0.5 1.0 1.5 1.4 1.5] ;
ns = numel(s) ;
nc = numel(c) ;
Formula = zeros(ns, nc) ; % Prealloc. memory.
for i = 1 : ns
for j = 1 : nc
Formula(i,j) = s(i)/sqrt(c(j));
end
end
Thank you very much Cedric
My pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心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!

Translated by