matlab求解高阶微分方程
...可以计算高阶矩阵的乘方运算,其元素都是用字母表示。matlab...
你问的不是什么语言吧,可以明确地说,什么语言都能做到,只不过编程难度不一样而已。你说的那个是符号运算,用Matlab也能做的,只不过现在我手头没有Matlab,不能详细告诉你.不过,你可以用Mathematica,那个符号运算很方便,直接写就行,还支持像公式编辑器那样的输入。
请问怎样在matlab上实现高等数学的常见运算
而MATLAB利用其符号运算工具箱可以对该函数进行解析推导,得出诸如高阶导数、积分、Taylor 幂级数展开等。利用diff(),simple(),taylor()等函数,推导的结果可以直接得到。在一些题目中,我们首先要确定解题方向,然后再具体解决。可以利用MATLAB对我们的思考方向作一些推测,看是否符合题目要求。这样,可以节省...
在matlab中高阶矩阵每行分别求和
sum(A')就可以了。。求出来就是行向量的和。。。求和之后还是个向量。。sum函数是把矩阵看成列向量来求和的。。貌似你这样的写法也是对的啊。。。结果是一样的。。只不过表示的一个是行向量。。一个是列向量
matlab程序ode45
注:ode45是最常用的求解微分方程的指令。它采用变步长四、五阶Runge-Kutta-Felhberg法,适合高精度问题。实例:拓展说明:ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法。ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法。ode113 解非刚性微分方程,变精度...
matlab中怎么输入高阶无穷大量符号O
在matlab中无穷大用Inf表示这个符号是matlab已经定义好的特殊变量。负无穷大用-Inf表示,正无穷大用+Inf或Inf表示。另外,I=Inf(n)以产生一个n*n的矩阵,矩阵中的每个元素都是正无穷大。infinite的前三个字母,无穷大的意思。实际意思是当算出的结果大于某个数(这个数很大,比如10的很多次方),则...
matlab simulink中高阶传递函数 1\/(1+42s)^7怎么表示
这个传函用零极点模型表示更方便一些(Zero-Pole模块)。零点设置为空矩阵[],极点设置为-1\/42*ones(1,7),当然,如果愿意,直接写7个元素都是-1\/42的向量也可以,增益设置为1\/42^7。
如何用matlab求解多项式方程?
nnz = length(inz); ←求inz矩阵的长度 p = p(inz(1):inz(nnz)); ←系数排序 r = zeros(n-inz(nnz),1,'like',fullPrototype); ← 除n次系数外,补零 d = p(2:end).\/p(1) ;←整除最高阶数的系数 while any(isinf(d)) ←当d数组元素为为无限值,执行下列命令 p = p(2:...
如何在matlab中确定多项式拟合的阶数
1.最高阶前面的系数肯定是不能为0的,否则就是 K-1 阶拟合。2.拟合的阶次越高肯定是越精确的,其实,x^n就相当于频谱分析,所取的频谱越多,当然就越精确了。3.这要根你的点数来确定,点数越多,则,可以取的阶数越高,点数越少,则应降低阶数,比如只有两个点,你就不能用二阶或三阶...
如何用matlab求解一个二阶常系数微分方程组
第一种方法:利用dsolve函数求微分方程的符号解(通解):对于一些不是很难,要求出通解的微分方程,用dsolve函数求解。1、 打开Matlab软件-->点击新建脚本菜单,新建一个脚本文件用于编写微分方程求解程序。2、 输入微分方程求解程序-->点击保存-->点击运行。3、在matlab的命令窗口即可看到求解结果,是...
matlab求偏导数
z=(x^2-2*x)*exp(-x^2-y^2-x*y); %函数表达式 zx=diff(z,x) %z对x的一阶偏导数 zy=diff(z,y) %z对y的一阶偏导数 第二问:syms x y z %声明变量 f(x,y,z)=sin(x^2*y)*exp(-x^2*y-z^2); %函数表达式 F=diff(f,x,x,y,z) %直接计算高阶偏导数 F=simplify...
中方县致平回答: clear syms t y=dsolve('D2y=( -3 *cos(2*t)) +2*sin(t)+t-3.8','Dy(0)=0','y(0)=0','t'); ezplot(y,[0 10]); hold on f=@(t,x)[x(2); -3 *cos(2*t)+2*sin(t)+t-3.8]; [t x1]=ode45(f,[0,10],[0 0]); plot(t,x1(:,1),'*');grid on title('连续的是解析解,星号的是数值解');
徐宽18872981741问: 如何用matlab 高阶微分方程求解 - ?
中方县致平回答: f=@(t,y)[y(2);y(3);-.5*y(1)*y(3)]; r=@(a,b)[a(1);a(2);b(2)-1]; ini=bvpinit(linspace(0,10,5),[0 0 0]); sol=bvp4c(f,r,ini);%边值问题用bvp4c求解,ode45只能求初值问题 x=linspace(0,10); y=deval(sol,x); plot(x,y(1,:))
徐宽18872981741问: MATLAB求解高阶常微分方程组 - ?
中方县致平回答: function yy = odex3(t,x) yy=zeros(4,1); yy=[x(2);sin(1.5*t)-4*x(2)+2*x(4)-5*x(1)+2*x(3);x(4);0.5*x(2)-x(4)+x(1)-1.5*x(3)];
徐宽18872981741问: 如何使用MATLAB求解微分方程 - ?
中方县致平回答: 可以用desolve方程:r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').eqn1表示第1个微分方程,cond1表示第1个初始条件,var表示微分方程中的自变量,默认为t.
徐宽18872981741问: 如何用matlab 求解高阶方程? - ?
中方县致平回答: 用roots(p)函数求解 其中p是方程的各次方的系数组成的矩阵 比如 你这道题的求根程序为: roots(p)matlab运行后的结果为:ans =10.3180 4.0487 1.8166 + 1.3141i 1.8166 - 1.3141i
徐宽18872981741问: matlab解高阶常微分方程 - ?
中方县致平回答: dY(2) = 2*m/h^2*[U - En]*Y(1); 这个语句的m h等变量 看看都是几维的 只能是一个数值才行
徐宽18872981741问: matlab 二元高阶微分方程的求解 - ?
中方县致平回答: 1、你的ode函数写的有问题,应该是 function f=tuoyuan(t,x) f=[x(3); x(4); (-5*x(1)/sqrt((x(1)^2+x(2)^2)))/(x(1)^2+x(2)^2); (-5*x(2)/sqrt((x(1)^2+x(2)^2)))/(x(1)^2+x(2)^2)]; 这样,f(1)-f(4)分别对应x'、y'、x"、y",你原来的写法把顺序都搞乱了.2、按...
徐宽18872981741问: matlab软件能求解高阶线性微分方程吗 - ?
中方县致平回答: 可以的 有ode函数 一般可以用ode45函数,这个是四阶,五阶Runge-Kutta单步算法.一般的线性微分方程都能解的.需要按照要求格式来编写方程函数
徐宽18872981741问: 如何用matlab求解微分方程组 - ?
中方县致平回答: 这说明此微分方程没有显示解,应用数值方法求解,例如ode45等函数 就一个例子(选自matlab帮助文档) 解入下微分方程组1,建立方程组函数 function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2) * y(3);dy(2) = -y(1) * y(3);dy(3) = -0.51 * y(1) * y(2);2,求解并绘图 [T,Y] = ode45(@rigid,[0 12],[0 1 1]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') 结果
徐宽18872981741问: 用matlab,怎么解高阶方程?????? - ?
中方县致平回答: ode方法是解微分方程的.ode45也不是说解决4,5阶的方程,而是一种45阶的龙哥库塔方法.solve解决的是代数方程组问题.