目录
内容来源:中国大学MOOC-《科学计算与MATLAB语言》(中南大学)
O、初识MATLAB
例:求 x^2-3*x+1=0 的根
% 方法一:利用MATLAB多项式求根函数roots来求根
p=[1,-3,1];
x=roots(p)
x=-5:0.1:5;
y1=x.^2-3*x+1;
for i = 1:size(x,2)-1
% if ((x(i)^2-3*x(i)+1) * (x(i+1)^2-3*x(i+1)+1))<0
if y1(i) * y1(i+1) <0
disp(['零点位于:',num2str(x(i)),'与',num2str(x(i+1)),'之间'])
end
end
y2=zeros(size(x));
plot(x,y1,x,y2)
% 方法二:利用求单变量非线性方程根的函数fzero
% (求方程在某个初始点附近的实根)
f=@(x) x*x-3*x+1;
x1=fzero(f,0.5)
x2=fzero(f,2.5)
% 方法三:利用最优化工具箱中的方程求根函数fsolve
f=@(x) x*x-3*x+1;
x1=fsolve(f,0.5,optimset('Display','off'))
x2=fsolve(f,2.5,optimset('Display','off'))
% 方法四:利用solve函数求方程的符号解
% (即求得的解是一个表达式)
syms x
x=solve(x^2-3*x+1)
x=eval(x)
一、MATLAB基础知识
二、MATLAB矩阵处理
三、MATLAB程序流程控制