repeating user created functions

1 view (last 30 days)
Matthew
Matthew on 24 Sep 2023
Moved: Dyuman Joshi on 25 Sep 2023
I have a nested function d_1 that i'm trying to run for the values 1-10. I need to store the data so i can plot it.
I tried d_1(1:10) but this is just displaying a single value (1)
would a for loop work for this?
something like:
N = 10
x = zeros(length(N))
for d_1 =
I'm lost from here, any pointers or help would be appreciated.
  2 Comments
Hiro Yoshino
Hiro Yoshino on 25 Sep 2023
Could you elaborate on this?
Matthew
Matthew on 25 Sep 2023
I will try my best, I'm slowely getting it to work.
right now i have
N = 10;
for k = 1:N
d_1(k)
end
this displays the answers i need in the command window, but i need each one of these answers stored in a row vector so i can plot them.

Sign in to comment.

Answers (2)

Matthew
Matthew on 25 Sep 2023
Moved: Dyuman Joshi on 25 Sep 2023
i believe i figured it out
N = 1:10;
s = zeros(1,length(N));
for k = 1:length(N)
s(k) = d_1(k)
end
plot(s)

Pratyush
Pratyush on 25 Sep 2023
I understand that you want to run the nested function 'd_1' for the values 1-10 and store the data for plotting.
You can use a loop to iterate over the values and store the results in an array. Here is an example script:
% Initialize an empty array to store the data
data = [];
% Iterate over the values 1-10
for i = 1:10
% Call the nested function and store the result in the array
data(i) = d_1(i);
end
% Now you can plot the data
plot(1:10, data)
xlabel('x')
ylabel('d_1(x)')
% Define the nested function d_1
function result = d_1(x)
% Your nested function logic here
result = x^2; % Just an example, replace with your actual logic
end

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!