用matlab或maple解高次方程

作者&投稿:冉华 (若有异议请与网页底部的电邮联系)
如何用Matlab编写程序解一个复杂方程组,但是过程要用maple解方程??~

1 Maple15以上版本,可以将Maple语言转换成其他语言,包括MATLAB,当然不能转换Maple中的专有函数运算。具体的命令如下:CodeGeneration['Matlab']('XXXXXXXXXXXXXXX');
XXXXXXXXXXXx部分就是Maple程序内容。例如如下图,上面是Maple程序,下面是自动生成的MATLAB代码:


2 有免费的Maple Player下载,可以用于阅读、运算Maple程序、文件,但是不能修改。

3 Maplesoft有个叫MapleNet的技术,可以直接通过网页加载Maple文件,并运行、计算。
举个例子:http://202.121.241.38:80/maplenet/worksheet/uploads/0203ThreeEq.mw
这个链接就是一个MapleNet的例子,将一个Maple在网页上实现了,并可以做计算。
可以尝试直接在三个数学框里输入方程,然后拖动下滑动条进行求解。

您好, 我用的是matlab5.3

通过上述的表达式,有解的
? [a,b]=solve('R*cos(a)-R*cos(a+b)=x','R*sin(a)-R*sin(a+b)=y','a,b')


a =

[ atan2((-x/(4*x^2+4*y^2)*(4*x*y^2+4*x^3+4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))+x^2+y^2)/y/R,1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3+4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))/R)]
[ atan2((-x/(4*x^2+4*y^2)*(4*x*y^2+4*x^3-4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))+x^2+y^2)/y/R,1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3-4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))/R)]


b =

[ atan2(1/2*(-4*y^2*R^2-1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3+4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))*x^3-1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3+4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))*x*y^2+x^4+2*x^2*y^2+y^4)/y/R^2*(4*x^2+4*y^2)/(4*x*y^2+4*x^3+4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2)),-1/2*(x^2+y^2-2*R^2)/R^2)]
[ atan2(1/2*(-4*y^2*R^2-1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3-4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))*x^3-1/(4*x^2+4*y^2)*(4*x*y^2+4*x^3-4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2))*x*y^2+x^4+2*x^2*y^2+y^4)/y/R^2*(4*x^2+4*y^2)/(4*x*y^2+4*x^3-4*(-2*x^2*y^4-x^4*y^2+4*x^2*y^2*R^2-y^6+4*y^4*R^2)^(1/2)),-1/2*(x^2+y^2-2*R^2)/R^2)]



您可以通过SIMPLE,SIMPLIFY, FACTOR, EXPAND, COLLECT等函数来化简

这题目夸张。

学过高等代数的人都应该有一个常识: 高于5次(大于等于5)的方程没有精确代数解(这个定理已经被证明),所以你不要妄想了。 这种方程只能通过数值计算的方法,用数值逼近求近似解。

一些特殊的高次方程有代数解,但需要判定方法,涉及到群论知识,你这两个方程都没有代数解,如果你一定要精确解,那只能用超越函数表示(不可能只用加减乘除开方表示)。

既然你知道是循环群为什么不自己解,还有你给的那两个根都不是代数解,三角函数属于超越函数,我用maple他没有给出任何答案,证明是没有代数解。

你既然能得到这个解,肯定是相当特殊的方法,怎么做到的?

很明显嘛,你直接save->save as (这个单词忘了)
然后求近似解按A开头那个啊
我说的是maple

可以用二分法来做的

“^”是啥意识?


“matlab”应该怎么读,发音?
“matlab”读作:[ˈmeɪtlæb]。发音解释:MATLAB是一个广泛使用的数学计算软件,其名称在英语中的发音相对简单。在发音时,注意以下几点:1. “matlab”这个词的发音可以从单词的首字母开始。第一个音节是“ma”,这里的“m”发音时轻微模糊处理,类似于英语中其他以“m”开头的单...

ma函数是什么含义?
在数学和编程中,"ma函数"通常指的是创建全零矩阵的函数,特别是在Matlab或类似环境中。当你看到"zeros(1,8)",这是指生成一个1行8列的全为零的矩阵。这个函数的作用是返回一个m×n×p...的二维或高维数组,其中所有元素都是数值0。这里的m代表行数,n代表列数,p代表可能的其他维度。例如,...

matlab中的ma是什么意思
MA指标是英文(Moving average)的简写,叫移动平均线指标。移动平均线(MA)具有趋势的特性,它比较平稳,不像日K线会起起落落地震荡。越长期的移动平均线,越能表现稳定的特性。不轻易向上向下,必须等股价趋势的真正明朗。移动平均线说到底是一种趋势追踪工具,便于识别趋势已经终结或者反转,新的趋势是否...

matlab中如何打开.ma文件?
1、首先,可以打开该文件进行编辑,文件并未关联打开软件,无法直接打开,需要选择相应软件打开。2、此时,直接进行双击,即可自动弹出打开方式选择界面,可以在列表中查找可以打开文本文件的软件,进行选定。3、同时,也可以在文件上右击鼠标,会显示菜单,其中有打开方式一项,从中找到记事本工具,即可打开文件...

已求出自相关系数和偏相关系数,阶数为q,如何用MATLAB求MA模型参数
在MATLAB中,你可以使用arima函数来估计移动平均(MA)模型的参数。以下是使用arima函数估计MA模型参数的步骤:导入数据:将你的时间序列数据导入MATLAB,可以使用load函数或直接将数据复制到MATLAB中。指定模型阶数:确定MA模型的阶数q。将数据作为输入,指定模型类型和阶数。 提取参数值:一旦模型参数估计完成...

matlab中ma均线怎么编辑
ma均线的编辑方法:1、调出均线:键盘上输入字母MA+回车键 2、修改均线参数:对着均线右键鼠标,选择“调整指标参数”3、添加\/删除均线:对着均线右键鼠标,选择“修改指标公式”在表格中填写您要修改的参数名、缺省值、最大最小值、步长,接着在下面的文本档中编辑函数,建议复制原涵数,然后修改参数名...

MATLAB\/simulink中示波器纵坐标单位怎么看,或者怎么设置,图中上为电压...
1、启动MATLAB,在命令窗口输入simulink,按回车,打开Simulink Library Browser。2、在Simulink Library Browser,点击file-->new-->model,新建一个模型。3、在Simulink Library Browser中找到Source,将信号发生器(Signal Generator)拖到模型里。在Simulink Library Browser中找到Sinks,将示波器(Scope)拖...

怎么用ma阵
要使用MATLAB进行矩阵运算,首先,打开MATLAB程序。进入后,执行清屏操作,输入'clear'和'clc'命令以确保工作环境整洁。接下来,根据具体需求,创建一个矩阵。例如,你可以定义一个名为A的矩阵,如A=[1 2; 3 4]。矩阵的命名可以根据个人喜好,这里使用'A'作为示例。确保矩阵的尺寸和元素符合你的计算...

mamatlab基于拉普拉斯金字塔分解的图像融合源程序
function Y = fuse_lap(M1, M2, zt, ap, mp)功能:基于拉普拉斯金字塔对输入的两幅灰度图像进行融合 输入:M1 – 输入的灰度图像A M2 – 输入的灰度图像B zt – 最大分解层数 ap – 高通滤波器系数选择 (见 selc.m)mp – 基本图像系数选择 (见 selb.m)输出:% Y - 融合后的图像 检验...

ma什么意思
MATLAB在处理这类特定形式的方程时,往往无法给出直接的解析解,而需要通过计算和转换来间接呈现结果。具体来说,当你在MATLAB中尝试求解这个四次方程时,由于其系数的组合特性,软件会采用数值方法或近似算法来求解,而不是提供一个简洁的代数形式。这反映了MATLAB在处理某些数学问题时的局限性,它更擅长于...

达日县15139884012: 关于用matlab 求一个高次方程! 很简单的 - 谁来回答下! -
赧菊鲁南: 先定义符号变量,用solve看是否有解析解,没有可以用fsolve解数值解. >> syms x >> e=x^4+10*x^3+37*x^2+102.055*x+120e =x^4 + 10*x^3 + 37*x^2 + (20411*x)/200 + 120>> solve(e) ans = - (3*((3^(1/2)*134692303226362507^(1/2))/...

达日县15139884012: 用matlab解高次方程 -
赧菊鲁南: 把方括号都改成圆括号,v后面的小数点去掉.syms x y z v[x,y,z,v]=solve('(x-1700)^2+(y-700)^2-(x-2900)^2-(y-900)^2=0',...'sqrt((x-500)^2+(y-3300)^2+z^2)-sqrt((x-300)^2+(y-200)^2+z^2)-5*v/3=0',...'sqrt((x-1400)^2+(y-2200)^2+z^2)-sqrt((x-2300)^...

达日县15139884012: 高手帮忙 用matlab解一元高次方程 -
赧菊鲁南: 可以.简单的说,解一个二元一次方程组如:x+y=3,x-y=1.程序如下:sym x y a b; [a,b]=solve(x+y-3,x-y-1); 得到的结果是 a=2 b=1 在等号右边出现的第一个参数对应等号右边x的值,第二个参数对应y的值.也就是说等号左边靠前的参数对应等号右边字母表中靠前的值,靠后的对应字母表中靠后的值.

达日县15139884012: matlab能够解含有字母的高次函数么?解 -
赧菊鲁南: 用Matlab可以求解,当然用Maple和Mathematica就更不用说了,Matlab的代码如下>> syms x a b c w y=exp(-x/b)*(1-x/b+w)+exp(-x/c)*(1-x/c); y=subs(y,{a,b,c,w},{1 2 3 4}) %举个例子a=1,b=2,c=3,w=4 y =- (x/3 - 1)/exp(x/3) - (x/2 - 5)/exp(x/2)>> x=solve('- (x/3 - 1)/exp(x/3) - (x/2 - 5)/exp(x/2)=0') x =5.5977202903007382877152340686344

达日县15139884012: 求怎么用matlab解单变量高次方程,有偿 -
赧菊鲁南: 对于一般简单的单变量高次方程,可以优先考虑solve()来求解,得到的是全部解.对于复杂的单变量高次方程,则用fsolve()或二分法等来求解其在某一区间的解.所以应根据具体的方程,来选择较合适求解函数.

达日县15139884012: 如何用maple求高次非线性方程组的近似解 -
赧菊鲁南: 如果maple数值解求解不出来,可能的情况有二.1、方程组矛盾,检查方程组列写是否错误,如果正确尝试用最小二乘法求解.2、数值解由于搜索空间太大,没法找到,尝试用启发式算法,例如遗传算法,类似你写的这些方程,可以用matlab中的遗传算法工具箱,应该也写成最小二乘的形式.这样的问题,我没有遇到过,fsolve命令已经很强大了,如果方程组正确,fsolve求不出来,我就不知道如何处理了.希望以上对你有帮助.

达日县15139884012: 怎样用MATLAB求解高次方程 -
赧菊鲁南: % 最后一句改为 i0=solve(Ttq*ig*et/r*i0-Ff-Fw); % 因为你前面定义过syms i0,所以solve里不用引号,可以直接把各个参数代入,是一个自变量为i0的sym类型的表达式,不加引号的话也不能加=号,方程两边要挪到一边. %如果你不定义syms i0,那也可以直接用 i0=solve('Ttq*ig*et/r*i0-Ff-Fw=0' , 'i0') % 此时因为多个未知数,所以必须指定所求的i0,结果用其他参数表示,所以要换成数值,还要加一句 x=subs(i0) %这句的意思就是用现有变量内容替换sym类型里的变量名

达日县15139884012: 如何用matlab 求解高阶方程? -
赧菊鲁南: 用roots(p)函数求解 其中p是方程的各次方的系数组成的矩阵 比如 你这道题的求根程序为: roots(p)matlab运行后的结果为:ans =10.3180 4.0487 1.8166 + 1.3141i 1.8166 - 1.3141i

达日县15139884012: matlab求解一元高次方程的问 -
赧菊鲁南: 可能你使用的命令有问题.应该这样来求解.p=[12155/128 0 - 6435/32 0 9009/64 0 -1155/32 0 315/128]; x=roots(p)

达日县15139884012: 用matlab解高次方程
赧菊鲁南: p=[121,0,-1210,1705,-440,-109]; r=roots(p) ans = -3.7426 1.9844 1.2787 0.6301 -0.1505

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网