《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 117|回复: 1
收起左侧

[提问] 四次方程的解绘图是直线?

[复制链接]
发表于 2018-9-23 21:28:36 | 显示全部楼层 |阅读模式
本帖最后由 tyf_nc 于 2018-9-23 21:29 编辑

X^4-A=X
就这个方程,A是变化的,然后解出X的值。

源代码:
%start
clc
clear all
A= linspace((100-50)/3600, (100+50)/3600,20); %在一个范围内取20个数
A_size=max(size(A));


    A_value=A(1);
     xAsolve=strcat('x^4-',num2str(A_value),'=x');
     x_value=solve(xAsolve,'x');
     x_value_array=x_value;
     
    for i=2:A_size
         A_value=A(i);
         xAsolve=strcat('x^4-',num2str(A_value),'=x');
         x_value=solve(xAsolve,'x');
         x_value_array=[x_value_array,x_value];
     end
     x_value_array  %4行20列矩阵,每列为一个A值对应的解
%end


解出来每个A值对应的是4个解,去其中一个趋势向上的解,录到excel文件中,然后就是A为Y坐标,X的解为X坐标绘图,绘制出来的图是直线,难道X的值和A绘图不应该是曲线么?那四次方方程不就变成线性方程了么?求高人指点!

绘图源代码:
%start
clc
clear all
A= linspace((100-50)/3600, (100+50)/3600,20); %在一个范围内取20个数
[y,NUM]=xlsread('e4s', 'A1:A20');%读工作目录里面的xls文件而且数据在A1到A20

plot(y,A ,'--r ')
set(gcf,'color','white')
box off
ylabel('A(变量)')
xlabel(' 四次方的解'); %括号是正体其余是斜体
grid on%设置网格线开

%end


1.jpg
发表于 2018-9-24 17:33:09 | 显示全部楼层
趋势向上的解 怎么理解?
程序简化一下;
clear; clc;
syms x
A = linspace((100-50)/3600, (100+50)/3600, 20); %在一个范围内取20个数
A_size = 20;
x_value_array = zeros(4, A_size);
for i = 1 : A_size
    x_value = solve(x^4-x==A(i),x);
    x_value_array(:,i) = double(x_value);
end
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号 

GMT+8, 2018-10-18 14:01 , Processed in 0.112265 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表