Create a vector with for loop with mathematical operations
이전 댓글 표시
w=[5 4 3 2]
Use this vector in a mathematical expression to create the following vectors:

My code snippet is below, code for that question. When I run it, I can't get expected result. I just want to create a vector as noted above.How can I solve that question?
w=[5 4 3 2]
for i= w
a3=[1/(i+i)]
b3 =[i^i]
c3 =[i/sqrt(i)]
d3 =[(i^2)/(i^i)]
end
채택된 답변
추가 답변 (1개)
Toder
2020년 5월 10일
To fix your current code, you need to use indices in the for loop.
w=[5 4 3 2]
for i = w
a3(6-i)=[1/(i+i)]
b3(6-i) =[i^i]
c3(6-i) =[i/sqrt(i)]
d3(6-i) =[(i^2)/(i^i)]
end
This assigns a3(1) in the first loop, a3(2) in the second, etc. Your code reassigns the scalar a3 each loop. The indices I use are somewhat strange because we're looping over w, which is fine, it just makes indices harder to keep track of. You could do it differently by using a counter:
w=[5 4 3 2]
j = 1
for i = w
a3(j)=[1/(i+i)]
b3(j) =[i^i]
c3(j) =[i/sqrt(i)]
d3(j) =[(i^2)/(i^i)]
j = j+1
end
Or you could have your for loop count from 1 to 4:
w=[5 4 3 2]
for i = 1:4
a3(i)=[1/(w(i)+w(i))]
b3(i) =[w(i)^w(i)]
c3(i) =[w(i)/sqrt(w(i))]
d3(i) =[(w(i)^2)/(w(i)^w(i))]
end
All this being said, I recommend "vectorizing" your code where possible. Dot operators perform arithmetic element-by-element, see the documentation for dot multiplication here. For instance, the whole a3 vector can be defined this way:
a3 = 1./(2*w)
댓글 수: 5
Hasan Berke Bankoglu
2020년 5월 10일
Toder
2020년 5월 11일
What's the problem? If it's that each vector is printing with each iteration, you can put a semicolon at the end of each assignment line in the foor loop to suppress the output.
Hasan Berke Bankoglu
2020년 5월 12일
편집: Hasan Berke Bankoglu
2020년 5월 12일
David Banahene
2022년 1월 23일
I have a vector a=[1:5] and would want to know how to plot (a-3)^3.
a = 1:5;
b = (a-3).^3;
plot(a,b)
카테고리
도움말 센터 및 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!
