using for loop to solve a function
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Given the following function ??(??) = 20000 * log(x) − 3x Use a for loop to compute f(x) for 1 ≤ x ≤ 20.
my solution
x = linspace(0,20,20);
for i=1:20
x2 = x;
y2 = 20000*log(x)-3*x;
plot(x2,y2,'r')
am i on the right track plot is blank
0 comentarios
Respuestas (1)
madhan ravi
el 27 de En. de 2019
Editada: madhan ravi
el 27 de En. de 2019
I know it is your homwork and appreciate that you have tried something.
Loop version:
x = linspace(0,20,20);
% ^^------ increase to get a smoother curve
y2=zeros(size(x)); % preallocate
for k=1:numel(x)
% x2 = x; ?? does nothing
y2(k) = 20000*log(x(k))-3*x(k);
% ^^^------ save y2 in each iteration
end
plot(x,y2,'r') % plot outside the loop
Matlab's way (vectorization):
x = linspace(0,20,20); % just three lines of code
y2 = 20000*log(x)-3*x;
plot(x,y2,'r')
11 comentarios
madhan ravi
el 28 de En. de 2019
Editada: madhan ravi
el 28 de En. de 2019
You didn't answer my first question.Plus I don't see any differences in the figure? not sure what do you mean by "i just thought it was wrong because when plotted on calc it looked wrong. " Did you verify the scale?
Ver también
Categorías
Más información sobre Graphics Performance en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!