MATLAB Answers

Trying to create two arrays called z and y

2 views (last 30 days)
% create variable x with array of all necessary values
x=linspace(0.1,13,50);
for i=x
% create equation to determine y
y=(sqrt(2.*i)*4*i.^3)/(4.*i(1)+7.^(i/10));
%create equation to determine z
z=log10(2.*i+5)+(4.*i+exp(i))/(2./3+4.*i.^2);
end
For the code above im trying to use values from my x array to create two arrays, y and z, im pretty new to matlab and im struggling, thanks.

  1 Comment

Walter Roberson
Walter Roberson on 9 Feb 2020
Copy of the question in case the user edits it away like they did other questions:
% create variable x with array of all necessary values
x=linspace(0.1,13,50);
for i=x
% create equation to determine y
y=(sqrt(2.*i)*4*i.^3)/(4.*i(1)+7.^(i/10));
%create equation to determine z
z=log10(2.*i+5)+(4.*i+exp(i))/(2./3+4.*i.^2);
end
For the code above im trying to use values from my x array to create two arrays, y and z, im pretty new to matlab and im struggling, thanks.

Sign in to comment.

Accepted Answer

Cameron B
Cameron B on 15 Jan 2020
Edited: Cameron B on 15 Jan 2020
First I would rename the variable i as ii so it’s not confused with the more general use of i = sqrt(-1). To save the variable, you need to index them. You can either have them as one row full of data or one column. Because this looks like homework I don’t want to write it all out for you. But while you’re going through the for loop, you’ll need to save the variable to a new position each time so it doesn’t overwrite. I’ll give you an example.
indx = 1; %starting value for array end
pp = 0:0.2:5;
for xx = pp
y(indx,1)= xx^2; %y variable is saved in a different column position each time through the loop
indx = indx + 1; %increment your value by one to save it to a new spot
end
disp(y) %displays your y variable in the command windiw
plot(pp,y) %plots your pp vs your y

  1 Comment

Kelton McKee
Kelton McKee on 15 Jan 2020
Thank you! i was able to apply your method and it worked perfectly

Sign in to comment.

More Answers (0)

Sign in to answer this question.