How do I plot multiple function forms on the same graph using vectors?
1 view (last 30 days)
Show older comments
I am creating a program to solve for roots of functions using Newton's Method. I keep getting the error "Error using * Inner matrix dimensions must agree.
Error in NewtonRoot2 (line 5) y = x + exp(-b*(x*x));"
if true
% code
end
clear
clc
x = -2 : 0.02 : 2;
b = [1, 5, 10, 25, 50];
y = x + exp(-b*(x*x));
plot(x,y,x,zeros(size(x)));
axis([-2, 2, -5, 5])
title('Plot of f(x) = x + exp(-b.*x.^2)')
xlabel('X')
ylabel('Y')
f = 'x + exp(-b.*x.^2)';
fprime = '1 - 2*b*x*exp(-b.*x.^2)';
maxiterations = 20;
iters = x;
for k=1 : maxiterations,
xnew = x - eval(f) ./ eval(fprime);
iters = [iters; xnew];
test = abs(xnew - x) ./ (abs(xnew)+eps);
if max(test) < 10*eps, break, end;
x = xnew;
end
format long
iters
format
if true
% code
end
Any suggestions would be very useful. For a more clear explanation of what I am trying to accomplish: I have the function f. This function has variables x and b as components. I want to make five different graphs on the same plot using different values for b, as shown in the vector 1,5,10,25,50. Once those graphs have been plotted with different b values, I will find roots of each one to compare the effect on the root by changes in b. Hopefully this is clear enough. I can provide more information as needed.
0 Comments
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Line Plots 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!