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

3 ビュー (過去 30 日間)
Rayell
Rayell 2023 年 9 月 28 日
回答済み: Dyuman Joshi 2023 年 9 月 28 日
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 日
"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;

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by