using for loop to solve a function
Ältere Kommentare anzeigen
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
Antworten (1)
madhan ravi
am 27 Jan. 2019
Bearbeitet: madhan ravi
am 27 Jan. 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 Kommentare
caroline
am 27 Jan. 2019
caroline
am 27 Jan. 2019
Bearbeitet: madhan ravi
am 27 Jan. 2019
madhan ravi
am 27 Jan. 2019
numel(x) gives number of elements in x ,
The best part in MATLAB is whenever you have a doubt just type
help numel % will give you detailed description of the command
doc numel
caroline
am 27 Jan. 2019
caroline
am 27 Jan. 2019
madhan ravi
am 27 Jan. 2019
use hold on after the first plot command
caroline
am 27 Jan. 2019
Bearbeitet: madhan ravi
am 27 Jan. 2019
madhan ravi
am 27 Jan. 2019
Bearbeitet: madhan ravi
am 27 Jan. 2019
I got two questions:
1) The original question you asked was about for loops ?
2) Why do you say it’s wrong ? Each graph represents different function.
caroline
am 27 Jan. 2019
madhan ravi
am 28 Jan. 2019
Bearbeitet: madhan ravi
am 28 Jan. 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?
caroline
am 28 Jan. 2019
Kategorien
Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!