matlab - 在 matlab 中绘制立方根

标签 matlab

我想在 matlab 中绘制三次方程 x^{3}+Ax^{2}+1=0 的根。我知道 A<-1.88 有 3 个实根,如果 A>-1.88 则有 1 个实根。我想绘制 3 个实根作为 A 的函数,当它切换到 1 个实根和 2 个复数以绘制实根和复数共轭解的实部时,它们都在同一个图中(可能是 2-3图表)。

虽然我是一个 matlab 初学者。我试过了

syms x A
r = solve(x^3 + A*x^2+1 == 0, x);
ezplot(vpa(r(1)),[-10,10])
ezplot(vpa(r(2)),[-10,10])
ezplot(vpa(r(3)),[-10,10])

但是 vpa 不知道如何对 r 进行数值计算。

最佳答案

不需要为此做符号数学,

A = (-3:0.01:0)'; % create a vector of values for A
r = arrayfun(@(A)real(roots([1 A 0 1])),A,'uni',false);  % calculate the polynomial roots for all values of A
r = [r{:}]; % convert result to a numeric array
plot(A,r');  % plot the result
grid on;
title('Real parts of Polynomial');
xlabel('A');

关于matlab - 在 matlab 中绘制立方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54121576/

相关文章:

matlab - 是否可以通过 matlab 提高 ODE 求解器的速度? (ode45 ode15s 等)

matlab - 更改 scatter3 中标记的大小

matlab - 是否可以访问Matlab中函数句柄内的变量?

user-interface - 如何加速matlab 'print'函数

matlab - 运行可执行文件而不显示在 "top"

matlab - 为什么 SIFT 在 Matlab 中不可用?

在使用 -nodesktop 和 -nosplash 选项后,MATLAB 仍然打开 GUI

matlab - Matlab中矩阵维数必须符合错误吗?

matlab - 在 matlab 绘图的刻度标签中打印 '_' 作为下划线

matlab - 是否可以使 hist3 图更平滑?