Why are is the zeros or zero(size) function in a for-loop function?

This is what i am trying to answer:
Compute 𝑦 = cos 2 𝑥 for x-values from 0 to 𝜋 (at least 100 values of x). Do this (i) with a for-loop
There are two different ways to do the y output. Im confused on that part
% Compute y= cos2x, with 100 values of x between 0 and pi
% (i) for-loop
% Create vectors
x = linspace (0,pi,100); % 100 values of x from 0 to pi
% Initialize the output vector y
y = zeros(1,100);
% y = zeros(size(x))^2
%Compute y-values using a for-loop
for i = 1:100
y(i) = cos(x(i))^2;
end

回答 (1 件)

Dyuman Joshi
Dyuman Joshi 2023 年 9 月 28 日

1 投票

"Why are is the zeros or zero(size) function in a for-loop function?"
y = zeros(1,100);
This is called Pre-allocation. It is done to improve the code execution time.
Another method to obtain the output is to vectorize the code - Vectorization
x = linspace(0,pi,100);
%Take the cos() of values in x and square every element.
y = cos(x).^2;

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2023b

質問済み:

2023 年 9 月 28 日

回答済み:

2023 年 9 月 28 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by