How do I plot multiple function forms on the same graph using vectors?
显示 更早的评论
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 个)
类别
在 帮助中心 和 File Exchange 中查找有关 2-D and 3-D Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!