Octave/matlab 程序记录(1)
一元二次方程求解,y/常数项 是矩阵的情况并画图
问题描述:已知一元二次方程的表达式:ax^2+bx+y=0 (常数项可以归到函数值y中,也可以求其他高次方程,假定 a = -1,b = 1),知道函数值y的分布情况,要求画出(x,y)的曲线图。
程序代码
y = 0:0.01:0.25;
for j = 1:length(y)
p = [-1 1 -y(j)]; % 假定a = -1, b = 1
r(j,:) = roots(p); % 可参考roots求根的用法
end
这样子r就是y该方程的解(一个y对应两个r),但是并不能直接plot(r,y),需要对结果进行一下排序,使变量与函数值能够很好的对应:
for m = 1:length(y)
xx(m,1) = min(r(m,:));
xx(m,2) = max(r(m,:));
end
x = [xx(:,1)' fliplr(xx(:,2)')];
yy = [y fliplr(y)];
结果如图所示:
横轴是x,纵轴是y
萌新自创,不足之处欢迎指正